@charset "UTF-8";
/* Settings
==================================================*/
/* depreciated */
/* Colors
==================================================*/
/* Utility Navigation
==================================================*/
.utilityNavigationMenu {
  background-color: #393e41;
}
@media (max-width: 1200px) {
  .utilityNavigationMenu {
    display: none;
  }
}
.utilityNavigationMenu ul.topnavlist {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 2rem 0.75rem 2rem;
}
.utilityNavigationMenu ul.topnavlist.open li {
  display: block;
}
.utilityNavigationMenu ul.topnavlist.open #utility-mobile-menu-button::after {
  content: "\f057";
  display: inline-block;
  transform: rotateZ(90deg);
  color: #964069;
}
.utilityNavigationMenu ul.topnavlist li {
  list-style-type: none;
}
@media (min-width: 1201px) {
  .utilityNavigationMenu ul.topnavlist li + li {
    border-left: 1px solid rgba(255, 255, 255, 0.55);
    padding-left: 0.75rem;
  }
}
.utilityNavigationMenu ul.topnavlist li a {
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}
.utilityNavigationMenu ul.topnavlist li a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.utilityNavigationMenu ul.topnavlist .utility-search-button {
  display: block;
}
@media (max-width: 1200px) {
  .utilityNavigationMenu ul.topnavlist .utility-search-button {
    display: none;
  }
}
.utilityNavigationMenu ul.topnavlist .utility-search-button__button {
  display: inline-flex;
  color: rgba(255, 255, 255, 0.92);
  background-color: transparent;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 220ms ease, transform 220ms ease;
}
.utilityNavigationMenu ul.topnavlist .utility-search-button__button:hover, .utilityNavigationMenu ul.topnavlist .utility-search-button__button:focus-visible {
  color: #fff;
  transform: translateY(-1px);
}
.utilityNavigationMenu ul.topnavlist .utility-search-button__button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.16rem rgba(255, 255, 255, 0.18);
  border-radius: 0.25rem;
}
.utilityNavigationMenu ul.topnavlist .utility-search-button__button i {
  display: block;
  font-size: 1.05rem;
  line-height: 1;
}
.utilityNavigationMenu ul.topnavlist .utility-mobile-menu-toggle {
  display: block;
  border-left: none;
  padding: 0;
}
@media (min-width: 1201px) {
  .utilityNavigationMenu ul.topnavlist .utility-mobile-menu-toggle {
    display: none !important;
  }
}
.utilityNavigationMenu ul.topnavlist .utility-mobile-menu-toggle #utility-mobile-menu-button {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  background-color: transparent;
  cursor: pointer;
}
.utilityNavigationMenu ul.topnavlist .utility-mobile-menu-toggle #utility-mobile-menu-button::after {
  content: "\f13a";
  margin-left: 0.5rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: rgb(185.5, 185.5, 185.5);
  transition: all 250ms ease;
}

/* Shared Mega Navigation
==================================================*/
.mainNavigationMenu {
  height: 88px;
}
.mainNavigationMenu ul.topnavlist {
  z-index: 9999;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr repeat(4, auto) 1fr auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 2rem;
  list-style-type: none;
  background-color: #fff;
}
@media (max-width: 1200px) {
  .mainNavigationMenu ul.topnavlist {
    grid-template-columns: 1fr auto;
  }
}
.mainNavigationMenu ul.topnavlist::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2rem;
  background: linear-gradient(to right, #1b4692, #964069);
  z-index: -1;
}
.mainNavigationMenu ul.topnavlist .nav-logo {
  grid-column: 1;
  justify-self: start;
}
@media (min-width: 1201px) {
  .mainNavigationMenu ul.topnavlist .nav-logo {
    min-width: 212.2px;
  }
}
.mainNavigationMenu ul.topnavlist .nav-logo img {
  height: 50px;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) {
  margin-inline: -0.625rem;
  padding-inline: 0.625rem;
  justify-self: center;
}
@media (max-width: 1200px) {
  .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) {
    display: none;
  }
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1):is(:hover, :focus-within):has(> a.hasChild)::after {
  content: "";
  height: 75px;
  display: block;
  margin-bottom: -75px;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1):hover > a.hasChild + ul, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1):focus-within > a.hasChild + ul {
  opacity: 1;
  visibility: visible;
  transition: opacity 125ms ease-in-out, visibility 125ms ease-in-out;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1):hover > a.hasChild::after, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1):focus-within > a.hasChild::after {
  content: "\f057";
  color: #964069;
  transform: rotate(90deg);
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a {
  font-weight: 700;
  text-decoration: none;
  color: #121212;
  position: relative;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a:hover {
  color: #1b4692;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a.hasChild::after {
  content: "\f13a";
  display: inline-block;
  margin-left: 0.5rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  text-align: center;
  color: #393e41;
  transform-origin: center;
  transition: 125ms transform ease-in-out;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul {
  width: auto;
  max-height: calc(100dvh - 156px);
  display: grid;
  padding: 1rem;
  background-color: #f0f0f0;
  grid-template-columns: repeat(auto-fit, minmax(0, 300px));
  justify-content: center;
  gap: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 250ms ease-in-out 50ms, visibility 250ms ease-in-out 50ms;
  position: absolute;
  top: 88px;
  left: 0;
  right: 0;
  box-shadow: rgba(18, 18, 18, 0.125) 0px 5px 15px;
  overflow-y: auto;
  overflow-x: hidden;
}
@media (max-width: 1650px) {
  .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul {
    grid-template-columns: repeat(auto-fit, minmax(0, 250px));
  }
}
@media (max-width: 1440px) {
  .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul {
    grid-template-columns: repeat(auto-fit, minmax(0, 215px));
    gap: 1rem;
  }
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul:hover, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul:focus-within {
  opacity: 1;
  visibility: visible;
  transition: opacity 125ms ease-in-out, visibility 125ms ease-in-out;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category {
  list-style-type: none;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links {
  height: fit-content;
  border-radius: 0.5rem;
  padding: 0.75rem;
  background-color: #fff;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links ul > li,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links ul > li {
  margin-left: 0;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links ul > li:hover > a, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links ul > li:focus-within > a,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links ul > li:hover > a,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links ul > li:focus-within > a {
  color: #1b4692 !important;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links a.hasChild,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links a.hasChild {
  display: none !important;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links a:not(a.hasChild),
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links a:not(a.hasChild) {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  text-decoration: none !important;
  color: #121212;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category.more-links i,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category.more-links i {
  width: 30px;
  display: grid;
  border-radius: 0.25rem;
  padding: 0.125rem;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, #1b4692, #964069);
  place-content: center;
  flex: 0 0 30px;
  aspect-ratio: 1/1;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
  font-weight: 700;
  text-decoration: none;
  color: #1b4692;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild:hover, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild:focus-within,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild:hover,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild:focus-within {
  text-decoration: underline;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul {
  display: grid;
  gap: 0.4rem;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li {
  list-style-type: none;
  border: 1px solid transparent;
  border-radius: 0.33rem;
  padding: 0.2rem 0.3rem 0.3rem;
  margin-left: calc(-0.3rem - 1px);
  transform: translateX(0);
  transition: 125ms border-color ease-in-out, 125ms background-color ease-in-out, 125ms transform ease-in-out;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li:hover, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li:focus-within,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li:hover,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li:focus-within {
  border-color: rgba(18, 18, 18, 0.125);
  background-color: #fff;
  transform: translateX(0.2rem);
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li:hover a, .mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li:focus-within a,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li:hover a,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li:focus-within a {
  text-decoration: underline;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li a,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li a {
  display: inline-block;
  font-size: clamp(0.8889rem, 0.8rem + 0.3556vw, 1rem);
  font-weight: 500;
  text-decoration: none;
  text-wrap: balance;
  color: #121212;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li a:has(img),
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li a:has(img) {
  display: none;
  pointer-events: none;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li a > span:not(.type),
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li a > span:not(.type) {
  width: fit-content;
  display: inline-flex;
  margin-left: 0.35rem;
  border-radius: 0.25rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  color: #fff;
  background: linear-gradient(to right, #1b4692, #964069);
  align-items: center;
  vertical-align: 0.12em;
}
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-category a.hasChild + ul li a.displayDate,
.mainNavigationMenu ul.topnavlist :is(.top-nav-link, .nav-menu-level-1) > a + ul > .nav-item-category a.hasChild + ul li a.displayDate {
  width: fit-content;
  display: block;
  margin-top: 0.25rem;
  border-radius: 0.25rem;
  padding: 0.2rem 0.4rem;
  font-size: clamp(0.8rem, 0.72rem + 0.32vw, 0.9rem);
  font-weight: 600;
  text-decoration: none;
  color: #964069;
  background-color: rgba(150, 64, 105, 0.1);
  pointer-events: none;
}
@media (min-width: 1201px) {
  .mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle {
    display: none;
  }
}
@media (max-width: 1200px) {
  .mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle {
    order: 2;
  }
}
.mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle #mobile-menu-toggle {
  width: 26px;
  height: 22px;
  display: block;
  background-color: transparent;
  position: relative;
  cursor: pointer;
}
.mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle #mobile-menu-toggle span {
  width: 100%;
  height: 3px;
  display: block;
  border-radius: 0.5rem;
  background-color: #121212;
  transition: 250ms all cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: absolute;
  left: 0;
}
.mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle #mobile-menu-toggle span:nth-child(1) {
  top: 0;
}
.mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle #mobile-menu-toggle span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.mainNavigationMenu ul.topnavlist .nav-mobile-menu-toggle #mobile-menu-toggle span:nth-child(3) {
  bottom: 0;
}
.mainNavigationMenu ul.topnavlist .nav-cta-button {
  grid-column: 8;
  justify-self: end;
  align-self: center;
}
@media (max-width: 1200px) {
  .mainNavigationMenu ul.topnavlist .nav-cta-button {
    display: none;
  }
}
.mainNavigationMenu ul.topnavlist .nav-think {
  grid-column: 3;
}
.mainNavigationMenu ul.topnavlist.open {
  grid-template-columns: 1fr auto;
}

/* Mobile Navigation (Generated from Sitecore Mega Nav)
==================================================*/
.mobileNavigationMenu {
  position: fixed;
  inset: 0;
  z-index: 10001;
  background-color: rgba(18, 18, 18, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: 125ms opacity ease-in-out, 125ms visibility ease-in-out;
}
@media (max-width: 1200px) {
  .mobileNavigationMenu.open {
    opacity: 1;
    visibility: visible;
  }
  .mobileNavigationMenu.open .mobileNavigationMenu__inner {
    transform: translateX(0px);
  }
}
.mobileNavigationMenu__inner {
  width: 75dvw;
  max-width: 30rem;
  height: 100dvh;
  display: flex;
  margin-left: auto;
  padding: 2rem;
  background-color: #fff;
  position: relative;
  flex-direction: column;
  overflow: visible;
  transform: translateX(50px);
  transition: transform 250ms ease-in-out;
}
.mobileNavigationMenu__close {
  width: 3.125rem;
  height: 3rem;
  display: block;
  border: 0;
  border-radius: 0.45rem 0 0 0.45rem;
  background-color: #964069;
  position: absolute;
  top: 1.25rem;
  left: 0;
  box-shadow: rgba(18, 18, 18, 0.1) 0 0.35rem 0.85rem;
  cursor: pointer;
  transform: translate(-100%, 0);
  transition: 125ms background-color ease-in-out, 125ms box-shadow ease-in-out;
}
.mobileNavigationMenu__close:hover, .mobileNavigationMenu__close:focus-visible {
  box-shadow: rgba(18, 18, 18, 0.14) 0 0.45rem 1rem;
}
.mobileNavigationMenu__close:focus-visible {
  outline: 0.18rem solid rgba(150, 64, 105, 0.28);
  outline-offset: 0.14rem;
}
.mobileNavigationMenu__close > span {
  width: 26px;
  height: 3px;
  display: block;
  border-radius: 0.5rem;
  background-color: #fff;
  transition: 250ms all cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: absolute;
  left: 50%;
}
.mobileNavigationMenu__close > span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mobileNavigationMenu__close > span:nth-child(2) {
  top: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
}
.mobileNavigationMenu__close > span:nth-child(3) {
  bottom: 50%;
  transform: translate(-50%, 50%) rotate(-45deg);
}
.mobileNavigationMenu__toggle {
  display: inline-grid;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}
.mobileNavigationMenu__toggle > i {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
  font-weight: 900;
  text-align: center;
  color: #393e41;
  transform-origin: center;
  transition: 125ms transform ease-in-out;
}
.mobileNavigationMenu__toggle[aria-expanded=true] > i {
  color: #964069;
  transform: rotate(90deg);
}
.mobileNavigationMenu__header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
  align-items: center;
}
.mobileNavigationMenu__panel {
  min-height: 0;
  display: none;
  border-radius: 0.5rem;
  background-color: #f0f0f0;
  flex: 1 1 auto;
  overflow-y: auto;
  visibility: visible;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.mobileNavigationMenu__subheading {
  display: inline-block;
  margin-bottom: 0.25rem;
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
  font-weight: 700;
  text-decoration: none;
  color: #1b4692;
}
.mobileNavigationMenu__item {
  min-height: 0;
  max-height: fit-content;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
}
.mobileNavigationMenu__item.open > .mobileNavigationMenu__header {
  margin-bottom: 0.5rem;
}
.mobileNavigationMenu__item.open {
  flex: 1 1 auto;
}
.mobileNavigationMenu__item.open > .mobileNavigationMenu__panel {
  display: block;
  padding: 1rem;
}
.mobileNavigationMenu__item + .mobileNavigationMenu__item {
  margin-top: 1.25rem;
}
.mobileNavigationMenu__item--search-cta {
  margin-top: 0.875rem;
}
.mobileNavigationMenu__row + .mobileNavigationMenu__row {
  margin-top: 1rem;
}
.mobileNavigationMenu__nested-row {
  display: grid;
  grid-template-columns: 0.45rem minmax(0, 1fr);
  column-gap: 0.6rem;
  align-items: start;
  list-style-type: none;
}
.mobileNavigationMenu__nested-row + .mobileNavigationMenu__nested-row {
  margin-top: 0.75rem;
}
.mobileNavigationMenu__nested-row::before {
  content: "";
  width: 0.38rem;
  aspect-ratio: 1/1;
  margin-top: 0.55em;
  border-radius: 50%;
  background-color: #121212;
}
.mobileNavigationMenu__sublink {
  min-width: 0;
  display: inline-block;
  font-size: clamp(0.8889rem, 0.8rem + 0.3556vw, 1rem);
  font-weight: 500;
  text-decoration: none;
  text-wrap: pretty;
  color: #121212;
}
.mobileNavigationMenu__sublink > span:not(.type) {
  width: fit-content;
  display: inline-flex;
  margin-left: 0.35rem;
  border-radius: 0.25rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  color: #fff;
  background: linear-gradient(to right, #1b4692, #964069);
  align-items: center;
  vertical-align: 0.12em;
}
.mobileNavigationMenu__date {
  width: fit-content;
  display: block;
  margin-top: 0.25rem;
  border-radius: 0.25rem;
  padding: 0.2rem 0.4rem;
  font-size: clamp(0.8rem, 0.72rem + 0.32vw, 0.9rem);
  font-weight: 600;
  text-decoration: none;
  color: #964069;
  background-color: rgba(150, 64, 105, 0.1);
  grid-column: 2;
  pointer-events: none;
}
.mobileNavigationMenu__list, .mobileNavigationMenu__sublist {
  list-style-type: none;
}
.mobileNavigationMenu__list {
  min-height: 0;
  display: flex;
  margin: 0 -0.5rem;
  padding: 0 0.5rem 1rem;
  flex: 1 1 auto;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
}
.mobileNavigationMenu__label {
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  color: #121212;
}
.mobileNavigationMenu__label:hover, .mobileNavigationMenu__label:focus-visible {
  text-decoration: none;
  color: #1b4692;
}
.mobileNavigationMenu__cta-link {
  width: 100%;
  display: block;
  margin-top: 1.5rem;
  text-align: center;
}
.mobileNavigationMenu__search-toggle {
  margin-top: 0;
}

/* Search
==================================================*/
.search {
  width: 100%;
  max-width: 800px;
  border-radius: 0.75rem;
  padding: 2rem;
  background-color: #f0f0f0;
  box-shadow: 0 0 0 9999px rgba(18, 18, 18, 0.5);
  opacity: 0;
  visibility: hidden;
  position: absolute;
  z-index: 10000;
  transition: 250ms opacity ease-in-out;
}
@media (max-width: 991px) {
  .search {
    width: 85dvw;
  }
}
.search.open {
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  visibility: visible;
}
.search fieldset {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.search fieldset label {
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
  font-weight: 700;
}
.search fieldset input[type=text] {
  width: 100%;
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-family: inherit;
  font-size: clamp(0.8889rem, 0.8rem + 0.3556vw, 1rem);
  font-weight: 400;
}
.search fieldset .submit {
  min-height: 2.75rem;
  display: inline-flex;
  border: 0;
  border-radius: 100vw;
  padding: 0.8rem 1.35rem;
  font-family: inherit;
  font-size: clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  color: #121212;
  background-color: transparent;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  cursor: pointer;
  transform: scale(1);
  transition: background-color 220ms ease, color 220ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.search fieldset .submit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(90deg, #121212 0%, rgb(38.4, 38.4, 38.4) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 250ms ease-in-out;
}
.search fieldset .submit:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.search fieldset .submit:hover, .search fieldset .submit:focus-visible {
  box-shadow: 0 0.35rem 0.9rem rgba(18, 18, 18, 0.1);
  transform: scale(1.018);
}
.search fieldset .submit:hover::before, .search fieldset .submit:focus-visible::before {
  transform: scaleX(1);
}
.search fieldset .submit:disabled, .search fieldset .submit[aria-disabled=true] {
  opacity: 0.65;
  pointer-events: none;
}
.search fieldset .submit:disabled::before, .search fieldset .submit[aria-disabled=true]::before {
  transform: scaleX(0);
}
.search fieldset .submit.arrow::after {
  content: "\f061";
  display: inline-block;
  margin-left: 0.1rem;
  font-family: "Font Awesome 6 Free";
  font-size: inherit;
  font-weight: 900;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .search fieldset .submit:hover, .search fieldset .submit:focus-visible {
    box-shadow: none;
    transform: scale(1);
  }
  .search fieldset .submit::before {
    transition: none;
  }
}
.search fieldset .submit {
  color: #fff;
  background-color: #1b4692;
}
.search fieldset .submit::before {
  background: linear-gradient(90deg, rgb(17.4485549133, 45.2369942197, 94.3514450867) 0%, rgb(23.8161849711, 61.7456647399, 128.7838150289) 100%);
}
.search fieldset .submit:hover, .search fieldset .submit:focus-visible {
  color: #fff;
}
.search fieldset .submit:hover, .search fieldset .submit:focus-visible {
  color: #fff;
  background-color: #1b4692;
}
.search .search-close {
  display: none;
  border-radius: 100%;
  padding: 0.25rem;
  background-color: #964069;
  position: absolute;
  top: -10px;
  right: -10px;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
  cursor: pointer;
}
.search .search-close:hover {
  background-color: rgb(132.1261682243, 56.3738317757, 92.488317757);
  transition: 125ms all ease;
}
.search .search-close i {
  padding: 0.5rem 0.65rem;
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem);
  color: #fff;
}

/* Announcement
==================================================*/
#top-announcement {
  display: grid;
  grid-template-columns: auto 1fr auto;
  place-items: center;
  gap: 2rem;
  padding: 1rem 2rem;
  background: linear-gradient(to right, #1b4692, #964069);
}
@media (max-width: 1200px) {
  #top-announcement {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
#top-announcement .announcement-timer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
#top-announcement .announcement-timer > div {
  width: 40px;
  display: flex;
  border-radius: 0.25rem;
  padding: 0.2rem;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: normal;
  color: #121212;
  background-color: #fff;
  flex-direction: column;
  align-items: center;
}
#top-announcement .announcement-timer .time-label {
  font-size: 0.55rem;
  text-transform: uppercase;
  color: #393e41;
}
#top-announcement .announcement-timer .hide {
  display: none;
}
#top-announcement .announcement-message {
  text-align: center;
  text-wrap: wrap;
}
@supports (text-wrap: balance) {
  #top-announcement .announcement-message {
    text-wrap: balance;
  }
}
#top-announcement .announcement-message {
  color: #f0f0f0;
}
#top-announcement .announcement-message p {
  font-weight: 500;
}
#top-announcement .announcement-message a {
  margin-left: 0.5rem;
  font-size: inherit;
}
#top-announcement .announcement-close {
  font-size: 1.5rem;
  color: #fff;
}
#top-announcement .announcement-close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#top-announcement .announcement-close i {
  margin-left: 174px;
  text-align: right;
}
@media (max-width: 1600px) {
  #top-announcement .announcement-close i {
    margin-left: 0;
  }
}
@media (max-width: 1200px) {
  #top-announcement .announcement-close {
    display: none;
  }
}

/* Ads
==================================================*/
.leaderboard {
  --leaderboard-scale: 1;
  --leaderboard-slot-width: min(100%, 728px);
  container-type: inline-size;
  display: none;
}
.leaderboard:has(.ad-loaded, .ad img) {
  display: grid;
  place-items: center;
  padding: 0.75rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(240, 240, 240, 0.94)), linear-gradient(90deg, rgba(27, 70, 146, 0.08), rgba(150, 64, 105, 0.08));
}
@media (max-width: 767px) {
  .leaderboard:has(.ad-loaded, .ad img) {
    --leaderboard-slot-width: 100cqw;
    --leaderboard-scale: clamp(0.42, calc(var(--leaderboard-slot-width) / 728px), 1);
    padding: 0.5rem;
  }
}
.leaderboard .ad {
  width: var(--leaderboard-slot-width);
  min-height: 0;
  display: grid;
  place-items: center;
}
.leaderboard .ad > div,
.leaderboard [id*=google_ads_iframe][id$=__container__],
.leaderboard iframe,
.leaderboard img {
  max-width: 100%;
  display: block;
}
.leaderboard .ad > div,
.leaderboard [id*=google_ads_iframe][id$=__container__] {
  width: var(--leaderboard-slot-width) !important;
  height: calc(90px * var(--leaderboard-scale)) !important;
  overflow: hidden;
}
.leaderboard iframe {
  width: 728px !important;
  max-width: none;
  height: 90px !important;
  transform: scale(var(--leaderboard-scale));
  transform-origin: top left;
}
.leaderboard img {
  width: 100%;
  height: auto;
}

/* Fonts
==================================================*/
h1,
.text-h1 {
  font-size: clamp(2.6rem, 1.5rem + 3vw, 4.3rem); /* 42–69px */
  font-weight: 700;
  line-height: 1.2;
}

h2,
.text-h2 {
  font-size: clamp(2rem, 1.2rem + 2.5vw, 3.4375rem); /* 32–55px */
  font-weight: 700;
  line-height: 1.2;
}

h3,
.text-h3 {
  font-size: clamp(1.6rem, 1rem + 2vw, 2.75rem); /* 26–44px (anchor) */
  font-weight: 700;
  line-height: 1.3;
}

h4,
.text-h4 {
  font-size: clamp(1.3rem, 0.9rem + 1.5vw, 2.2rem); /* 21–35px */
  font-weight: 500;
  line-height: 1.3;
}

h5,
.text-h5 {
  font-size: clamp(1.1rem, 0.8rem + 1vw, 1.75rem); /* 18–28px */
  font-weight: 500;
  line-height: 1.4;
}

h6,
.text-h6 {
  font-size: clamp(1rem, 0.85rem + 0.6vw, 1.4rem); /* 16–22px */
  font-weight: 400;
  line-height: 1.5;
}

p,
li {
  font-size: clamp(1rem, 0.9rem + 0.4vw, 1.125rem); /* 16–18px */
  font-weight: 400;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li {
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: none;
}

/* Buttons
==================================================*/
.btn {
  min-height: 2.75rem;
  display: inline-flex;
  border: 0;
  border-radius: 100vw;
  padding: 0.8rem 1.35rem;
  font-family: inherit;
  font-size: clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  color: #121212;
  background-color: transparent;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  cursor: pointer;
  transform: scale(1);
  transition: background-color 220ms ease, color 220ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(90deg, #121212 0%, rgb(38.4, 38.4, 38.4) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 250ms ease-in-out;
}
.btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.btn:hover, .btn:focus-visible {
  box-shadow: 0 0.35rem 0.9rem rgba(18, 18, 18, 0.1);
  transform: scale(1.018);
}
.btn:hover::before, .btn:focus-visible::before {
  transform: scaleX(1);
}
.btn:disabled, .btn[aria-disabled=true] {
  opacity: 0.65;
  pointer-events: none;
}
.btn:disabled::before, .btn[aria-disabled=true]::before {
  transform: scaleX(0);
}
.btn.arrow::after {
  content: "\f061";
  display: inline-block;
  margin-left: 0.1rem;
  font-family: "Font Awesome 6 Free";
  font-size: inherit;
  font-weight: 900;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  .btn:hover, .btn:focus-visible {
    box-shadow: none;
    transform: scale(1);
  }
  .btn::before {
    transition: none;
  }
}
.btn {
  color: #121212;
  background-color: #f0f0f0;
}
.btn::before {
  background: linear-gradient(90deg, #121212 0%, rgb(38.4, 38.4, 38.4) 100%);
}
.btn:hover, .btn:focus-visible {
  color: #fff;
}

.btn-primary {
  color: #fff;
  background-color: #1b4692;
}
.btn-primary::before {
  background: linear-gradient(90deg, rgb(17.4485549133, 45.2369942197, 94.3514450867) 0%, rgb(23.8161849711, 61.7456647399, 128.7838150289) 100%);
}
.btn-primary:hover, .btn-primary:focus-visible {
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus-visible {
  color: #fff;
  background-color: #1b4692;
}

.btn-primary--outline {
  color: #1b4692;
  background-color: rgba(27, 70, 146, 0.1);
}
.btn-primary--outline::before {
  background: linear-gradient(90deg, rgb(19.0404624277, 49.3641618497, 102.9595375723) 0%, #1b4692 100%);
}
.btn-primary--outline:hover, .btn-primary--outline:focus-visible {
  color: #fff;
}
.btn-primary--outline:hover, .btn-primary--outline:focus-visible {
  background-color: rgba(27, 70, 146, 0.1);
}

.btn-secondary {
  color: #fff;
  background-color: #964069;
}
.btn-secondary::before {
  background: linear-gradient(90deg, rgb(107.1028037383, 45.6971962617, 74.9719626168) 0%, rgb(135.7009345794, 57.8990654206, 94.9906542056) 100%);
}
.btn-secondary:hover, .btn-secondary:focus-visible {
  color: #fff;
}
.btn-secondary:hover, .btn-secondary:focus-visible {
  color: #fff;
  background-color: #964069;
}

.btn-secondary--outline {
  color: #964069;
  background-color: rgba(150, 64, 105, 0.1);
}
.btn-secondary--outline::before {
  background: linear-gradient(90deg, rgb(114.2523364486, 48.7476635514, 79.976635514) 0%, #964069 100%);
}
.btn-secondary--outline:hover, .btn-secondary--outline:focus-visible {
  color: #fff;
}
.btn-secondary--outline:hover, .btn-secondary--outline:focus-visible {
  background-color: rgba(150, 64, 105, 0.1);
}

.btn-tertiary {
  color: #121212;
  background-color: #f0f0f0;
}
.btn-tertiary::before {
  background: linear-gradient(90deg, rgb(224.7, 224.7, 224.7) 0%, hsl(0, 0%, 100.1176470588%) 100%);
}
.btn-tertiary:hover, .btn-tertiary:focus-visible {
  color: #121212;
}
.btn-tertiary:hover, .btn-tertiary:focus-visible {
  color: #121212;
  background-color: #f0f0f0;
}

.btn-tertiary--outline {
  color: #f0f0f0;
  background-color: rgba(240, 240, 240, 0.1);
}
.btn-tertiary--outline::before {
  background: linear-gradient(90deg, rgb(214.5, 214.5, 214.5) 0%, #f0f0f0 100%);
}
.btn-tertiary--outline:hover, .btn-tertiary--outline:focus-visible {
  color: #121212;
}
.btn-tertiary--outline:hover, .btn-tertiary--outline:focus-visible {
  background-color: rgba(240, 240, 240, 0.1);
}

.btn--nav-search {
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  min-height: 3rem;
  border-radius: 50%;
  padding: 0;
  flex-shrink: 0;
  color: #fff;
  background-image: linear-gradient(to right, #1b4692, #964069);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-origin: border-box;
  background-clip: border-box;
}
.btn--nav-search::before {
  background: linear-gradient(90deg, #121212 0%, rgb(38.4, 38.4, 38.4) 100%);
}
.btn--nav-search:hover, .btn--nav-search:focus-visible {
  color: #fff;
}

.btn--frame:hover, .btn--frame:focus-visible {
  background-color: #fff;
}

/* eventsHeadSmall.css hides ads with div.ad { display: none !important; } —
   re-assert the ads layer's grid; .leaderboard .ad (0,2,0) out-ranks div.ad
   (0,1,1) once both are !important. Parent .leaderboard still gates
   visibility via :has(.ad-loaded, .ad img). */
.leaderboard .ad {
  display: grid !important;
}

:root {
  /* Container Width */
  --max-width: 1440px;
  /* Fonts */
  --font-primary: "Montserrat", sans-serif;
  --font-awesome: "Font Awesome 6 Free";
  /* enhancements */
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Colors */
  --color-primary: #1b4692;
  --color-secondary: #964069;
  --color-accent-1: #fc552e;
  --color-accent-2: #a90062;
  --color-accent-3: #25b276;
  --color-accent-4: #60248c;
  --color-accent-5: #1fbcd5;
  --color-dark: #393e41;
  --color-gray: #d3d3d3;
  --color-light: #fff;
  --color-neutral: #f5f5f5;
  --color-yellow: #ecca1a;
  --color-new-blue: #1b4692;
  --color-new-red: #964069;
  --container-max-width: 1366px;
  --container-padding: 80px;
  --color-persona-1: #21bcd5;
  --color-persona-2: #f15734;
  --color-persona-3: #5fa372;
  --color-persona-4: #602d8a;
  --color-persona-5: #1b4691;
  --color-persona-6: #96406a;
  color-scheme: light;
  /* --top-countdown: var(--color-accent-1); */
  interpolate-size: allow-keywords; /* Used for animating height auto property */
}

/* View Transition
==================================================*/
@view-transition {
  navigation: auto;
}
main {
  view-transition-name: tdwi;
}

::view-transition-old(tdwi),
::view-transition-new(tdwi) {
  animation-duration: 1000ms;
  animation-timing-function: ease-in-out;
}

/* Anchor Scroll Offset
==================================================*/
html {
  scroll-behavior: smooth;
  scroll-padding-top: 160px;
}
@media (max-width: 991px) {
  html {
    scroll-padding-top: 280px;
  }
}

/* Scrollbar
==================================================*/
/* Skip to Main
==================================================*/
#skip-to-main {
  border-radius: 0 0 1rem 0;
  padding: 1rem;
  font-size: 1.1rem;
  color: #fff;
  background: linear-gradient(to right, #1b4692, #964069);
  background-color: #1b4692;
  position: absolute;
  left: -9999px;
  z-index: 10000;
  opacity: 0;
}
#skip-to-main:focus {
  left: 0;
  opacity: 1;
}

/* CSS Reset */
*,
*::before,
*::after {
  margin: 0;
  border: 0;
  padding: 0;
  box-sizing: border-box !important;
}

/* Typography: GLOBAL family/weights imported at top of file; legacy content
   sizes restored below — Sitecore sections were designed against these, and
   GLOBAL's clamp scale blows out their subheads. */
h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: #000;
}

h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: #000;
}

h2.special {
  font-size: 60px;
}

h3 {
  font-size: 1.17em;
  font-weight: 900;
  line-height: normal;
}

h4 {
  font-size: 1em;
  font-weight: 700;
  line-height: normal;
}

h5 {
  font-size: 0.83em;
  font-weight: 700;
  line-height: normal;
}

h6 {
  font-size: 0.67em;
  font-weight: 700;
  line-height: normal;
}

/* Legacy layouts rely on heading text overflowing narrow boxes (e.g. FAQ title
   column); GLOBAL's break-word shatters them into single letters. */
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: normal;
  word-wrap: normal;
}

/* Montserrat 400 reads optically thinner than the old Avenir 400; nudge body
   copy up a grade (variable font renders true 450). */
p,
li {
  font-weight: 450;
}

/* Modern Sitecore header look: heavy h3Header + refreshed sub-head */
h3[id*=h3Header],
h3[id*=h3Intro] {
  font-weight: 900;
  line-height: 1.3;
  text-wrap: balance;
}

.sub-head {
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  text-wrap: balance;
}

p {
  padding: 0.45em 0; /* hot fix for paragraph styles */
  text-wrap: pretty;
}

/* Utility */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
}

/* Buttons: GLOBAL system imported at top of file; legacy-only variants below */
.btn-dark {
  color: #fff !important;
  background-color: var(--color-dark);
  border-color: var(--color-dark);
}

.btn-dark:active,
.btn-dark:focus,
.btn-dark:hover {
  background-color: #2e3234;
  border-color: #2e3234;
}

/* .btn-tertiary:active,
.btn-tertiary:focus,
.btn-tertiary:hover {
    border-width: 2px;
    background-color: transparent;
    border-color: var(--color-accent-4);
    color: var(--color-accent-4) !important;
} */
/* Button Link */
.btn-link {
  text-decoration: none;
}

.btn-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.btn-link i {
  transform: translateX(5px);
}

.btn-link:hover i {
  transition: 150ms transform ease-in-out;
  transform: translateX(8px);
}

/* Accessibility Overlay */
.overlay {
  position: relative;
  z-index: 1;
}

.overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2); /* Black with 50% opacity */
  z-index: -1;
}

/* Screen Reader */
.sr-only {
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  color: #fff;
  background-color: #000;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* Leaderboard ad (728x90) now handled by GLOBAL/partials/_ads.scss */
#postHeader {
  height: unset !important;
}

body {
  font-family: var(--font-primary) !important;
}

/* Top Countdown */
#top-countdown {
  position: relative;
  padding: 1rem;
  background: url(/design/TDWI/Events/conferences/las-vegas/2025/img/dots-background-25.png) no-repeat center 25%/cover;
  background-color: #fff;
}

#top-countdown::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(to right, var(--color-accent-1) 0%, var(--color-accent-1) 20%, var(--color-accent-2) 20%, var(--color-accent-2) 40%, var(--color-accent-3) 40%, var(--color-accent-3) 60%, var(--color-accent-4) 60%, var(--color-accent-4) 80%, var(--color-accent-5) 80%, var(--color-accent-5) 100%);
}

#top-countdown .container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}

#top-countdown p:first-of-type {
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: 0.5px;
  text-align: right;
  color: #000;
}

#top-countdown p > em {
  font-size: 0.9rem;
  font-weight: 700;
}

#top-countdown a {
  color: var(--color-primary);
  /* text-decoration: underline; */
}

#countdown-timer {
  border-radius: 5px;
  padding: 0.5rem 0.7rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--color-dark);
  background-color: #f5f5f5;
}

#countdown-timer .dhms {
  color: #000;
}

#countdown-timer .live {
  color: red;
}

@media (max-width: 767px) {
  #top-countdown p:first-of-type {
    text-align: center;
  }
  #top-countdown .container {
    flex-direction: column;
    gap: 0.5rem;
  }
}
/* Utility Navigation */
#utility-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1.5rem;
  background-color: var(--color-dark);
}

#utility-nav .login-link-wrapper a + a {
  margin-left: 1.5rem;
}
@media (max-width: 767px) {
  #utility-nav .login-link-wrapper {
    display: none;
  }
}

#utility-nav .socials {
  display: flex;
  gap: 1rem;
}

#utility-nav .socials img,
#utility-nav .links img {
  height: 30px;
  vertical-align: middle;
}

#utility-nav .socials img:hover,
#utility-nav .links img:hover {
  transition: 150ms transform ease-in-out;
  transform-origin: center;
  transform: scale(1.15);
}

#utility-nav .links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

#utility-nav .links a {
  color: #fff;
}

#utility-nav .links a:not(:has(img)):hover {
  transition: 150ms all ease-in-out;
  transform-origin: bottom;
  transform: translateY(-4px);
}

@media (max-width: 991px) {
  #utility-nav {
    flex-direction: column-reverse;
    gap: 1rem;
  }
}
@media (max-width: 767px) {
  #utility-nav .links {
    gap: 1rem;
  }
  #utility-nav .links a {
    text-align: center;
    /* font-size: 0.9rem; */
    text-wrap: balance;
  }
}
.utilityNavigationMenu .clear {
  display: none !important;
}

/* Search (imported from partial)
==================================================*/
/* Hero CTA (NEW) */
#hero-cta {
  position: relative;
}
#hero-cta #year-badge {
  width: 80px;
  aspect-ratio: 1/1;
  z-index: 9899;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
#hero-cta .cta-slides {
  width: 100%;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
}
#hero-cta .cta-slides:hover {
  cursor: grab;
}
#hero-cta .cta-slides:active {
  cursor: grabbing;
}
#hero-cta .cta-slides .cta-slide {
  min-height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  text-align: center;
}
#hero-cta .cta-slides .cta-slide .content {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 2rem;
  box-sizing: border-box;
  background-color: hsla(0, 0%, 0%, 0.5);
}
@media (max-width: 1200px) {
  #hero-cta .cta-slides .cta-slide .content {
    margin: 2rem;
  }
}
#hero-cta .cta-slides .cta-slide .content img {
  max-width: 300px;
  margin: 0 auto 1.25rem auto;
}
#hero-cta .cta-slides .cta-slide .content > * {
  text-wrap: balance;
  color: #fff;
}
#hero-cta .cta-slides .cta-slide .content .date {
  display: inline-block;
  border-radius: 0.5rem;
  padding: 0.25rem 0.75rem;
  font-family: var(--font-primary);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.25px;
  color: #000;
  background-color: hsla(0, 0%, 100%, 0.8);
}
#hero-cta .cta-slides .cta-slide .content h1 {
  margin: 1.25rem 0 1rem 0;
  font-size: 2.85rem;
}
@media (max-width: 991px) {
  #hero-cta .cta-slides .cta-slide .content h1 {
    font-size: 2.25rem;
    line-height: 1.25;
  }
}
#hero-cta .cta-slides .cta-slide .content h2 {
  font-family: var(--font-primary);
  font-size: 1.9rem;
  font-weight: 400;
}
@media (max-width: 991px) {
  #hero-cta .cta-slides .cta-slide .content h2 {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
#hero-cta .cta-slides .cta-slide .content ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
  padding: 0 1.5rem;
  text-align: left;
}
@media (max-width: 767px) {
  #hero-cta .cta-slides .cta-slide .content ul {
    grid-template-columns: 1fr;
    padding: 0;
  }
}
#hero-cta .cta-slides .cta-slide .content ul li {
  list-style-type: none;
  font-size: 1.25rem;
  line-height: normal; /* GLOBAL's 1.5 li line-height grows the slide past its designed 600px */
  text-wrap: pretty;
  color: #fff;
}
#hero-cta .cta-slides .cta-slide .content ul li span {
  display: block;
  margin-bottom: 0.25rem;
  font-family: var(--font-primary);
  font-size: 1.5;
  font-weight: 700;
  color: #f5f5f5;
}
#hero-cta .cta-slides .cta-slide .content .btn {
  margin-top: 1.5rem;
}
#hero-cta .cta-slides .cta-slide img.background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  z-index: -100;
}
#hero-cta .slick-dots {
  bottom: -35px;
}
#hero-cta .slick-dots li button:before {
  font-size: 8px;
}

/* TDWI Stats */
#tdwi-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 1rem 2rem 1rem;
}

#tdwi-stats .stat {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

#tdwi-stats .stat .icon {
  width: 85px;
  aspect-ratio: 1/1;
  display: flex;
  flex-shrink: 0;
  flex-grow: 0;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  background-color: var(--color-accent-1);
}

#tdwi-stats .stat:nth-child(2) .icon {
  background-color: var(--color-accent-2);
}

#tdwi-stats .stat:nth-child(3) .icon {
  background-color: var(--color-accent-4);
}

#tdwi-stats .stat .icon > img {
  height: 55px;
}

#tdwi-stats .stat:nth-child(2) .icon > img {
  height: 45px;
}

#tdwi-stats .stat:nth-child(3) .icon > img {
  height: 45px;
}

#tdwi-stats .stat .value {
  font-size: 2rem;
  font-weight: 700;
}

#tdwi-stats .stat .description {
  max-width: 340px;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-dark);
}

#tdwi-stats .stat:nth-child(2) .description {
  max-width: 400px;
}

#tdwi-stats p {
  padding: 0 !important; /* Offset Global P Padding */
}

@media (min-width: 992px) {
  #tdwi-stats .stat + .stat {
    border-left: 2px solid var(--color-neutral);
    padding-left: 2rem;
  }
}
@media (max-width: 991px) {
  #tdwi-stats .stat .description,
  #tdwi-stats .stat:nth-child(2) .description {
    max-width: unset;
  }
  #tdwi-stats {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* Recent Work */
#showcase-cards {
  padding: 4rem 1rem;
  background-color: var(--color-neutral);
}

#showcase-cards p {
  padding: 0 !important; /* Offset Global P Padding */
}

#showcase-cards .cards {
  width: 100%;
  max-width: 1440px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin: 0 auto;
}

#showcase-cards .card {
  border-radius: 5px;
  background-color: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

#showcase-cards .card > .topper {
  width: 100%;
  min-height: 200px;
  display: flex;
  padding: 1rem;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#showcase-cards .card:nth-child(1) > .topper {
  background-color: var(--color-accent-2);
}

#showcase-cards .card:nth-child(2) > .topper {
  background-color: var(--color-accent-5);
}

#showcase-cards .card:nth-child(3) > .topper {
  background-color: var(--color-accent-3);
}

#showcase-cards .card:nth-child(4) > .topper {
  background-color: var(--color-accent-1);
}

#showcase-cards .card > .topper .type {
  font-size: 0.9rem;
  font-weight: 700;
  /* text-transform: uppercase; */
  letter-spacing: 0.25px;
  color: #000;
}

#showcase-cards .card > .topper .title {
  margin: 0.5rem 0;
  font-family: var(--font-primary);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.5px;
  color: #fff;
}

#showcase-cards .card > .topper small {
  font-size: 0.85rem;
  color: #000;
}

#showcase-cards .card > .description {
  padding: 1.5rem 1.5rem 1rem 1.5rem;
}

#showcase-cards .cards .description > .tag {
  border-radius: 5px;
  padding: 0.25rem 0.5rem;
  font-size: 0.7rem;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #fff;
  background-color: #393e41;
}

#showcase-cards .cards .description > h3 {
  margin: 1rem 0 0.7rem 0;
  font-size: 1.2rem;
  font-weight: 700;
}

#showcase-cards .cards .description > p {
  display: -webkit-box;
  margin-top: 1rem;
  font-size: 1rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  /* line-height: 1.3; */
}

#showcase-cards .cards .description .btn-wrapper {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1.3rem;
  padding-right: 0.5rem;
}

#showcase-cards .btn-wrapper > a {
  font-weight: 500;
  text-decoration: none;
}

#showcase-cards .btn-wrapper > a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

#showcase-cards .card:nth-child(1) > .description > .btn-wrapper > a {
  color: var(--color-accent-2);
}

#showcase-cards .card:nth-child(2) > .description > .btn-wrapper > a {
  color: var(--color-accent-5);
}

#showcase-cards .card:nth-child(3) > .description > .btn-wrapper > a {
  color: var(--color-accent-3);
}

#showcase-cards .card:nth-child(4) > .description > .btn-wrapper > a {
  color: var(--color-accent-1);
}

#showcase-cards .btn-wrapper > a i {
  transform: translateX(5px);
}

#showcase-cards .btn-wrapper > a:hover i {
  transition: 150ms transform ease-in-out;
  transform: translateX(8px);
}

#showcase-cards .card .card-topic-link {
  padding: 0.5rem 0.25rem;
  text-align: center;
}

#showcase-cards .card:nth-child(1) .card-topic-link {
  background-color: var(--color-accent-2);
}

#showcase-cards .card:nth-child(2) .card-topic-link {
  background-color: var(--color-accent-5);
}

#showcase-cards .card:nth-child(3) .card-topic-link {
  background-color: var(--color-accent-3);
}

#showcase-cards .card:nth-child(4) .card-topic-link {
  background-color: var(--color-accent-1);
}

#showcase-cards .card .card-topic-link > a {
  font-weight: 500;
  color: #fff;
}

#showcase-cards .card .card-topic-link > a:hover {
  text-decoration: none;
}

@media (max-width: 1200px) {
  #showcase-cards .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  #showcase-cards .cards {
    grid-template-columns: 1fr;
  }
  #showcase-cards {
    padding: 2rem;
  }
}
/* Think, Train, Engage
==================================================*/
/* Porting over needed parts from new codebase */
.btn-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.btn-primary-new {
  color: #fff;
  background-color: var(--color-new-blue);
}
.btn-primary-new:hover {
  background-color: #183e83;
}

.btn-secondary-new {
  color: #fff;
  background-color: var(--color-new-red);
}
.btn-secondary-new:hover {
  background-color: #86395e;
}

.link {
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  text-underline-offset: 6px;
  color: #fff !important;
}
.link::after {
  content: "\f061";
  display: inline-block;
  margin-left: 0.45rem;
  font-family: var(--font-awesome);
  font-weight: 900;
  text-decoration: none;
}
.link:hover {
  text-decoration: none;
}
.link:hover::after {
  transform: translateX(0.15rem);
  transition: 333ms transform ease;
}

.link-primary {
  color: var(--color-new-blue) !important;
}

.link-secondary {
  color: var(--color-new-red) !important;
}

/* Pathfinders
==================================================*/
.pathfinder {
  padding: clamp(3rem, 5vw + 2rem, 80px) 0;
  background: var(--color-light) url("https://tdwi.org/~/media/tdwi/tdwi%20global/persona/assets/topographicalpattern.svg") repeat center;
}
.pathfinder h3[id*=h3Header] {
  margin-bottom: 0.75rem;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
}
.pathfinder .sub-head {
  margin-bottom: 2rem;
  padding: 0 !important;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  text-align: center;
  text-wrap: balance;
  color: rgb(57, 62, 65);
}
.pathfinder h3[id*=h3Header],
.pathfinder .sub-head {
  text-align: center;
}
.pathfinder .personas {
  max-width: calc(1366px + 4rem);
  display: grid;
  margin: 0 auto;
  grid-template-columns: repeat(6, 1fr);
  place-items: center;
  align-items: start;
  gap: 2rem;
}
@media (max-width: calc(1366px + 8rem)) {
  .pathfinder .personas {
    max-width: 767px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .pathfinder .personas {
    max-width: 575px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .pathfinder .personas {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.pathfinder .personas .persona {
  width: 200px;
}
.pathfinder .personas .persona:nth-of-type(1) .image-box {
  background-color: var(--color-persona-1);
}
.pathfinder .personas .persona:nth-of-type(2) .image-box {
  background-color: var(--color-persona-2);
}
.pathfinder .personas .persona:nth-of-type(3) .image-box {
  background-color: var(--color-persona-3);
}
.pathfinder .personas .persona:nth-of-type(4) .image-box {
  background-color: var(--color-persona-4);
}
.pathfinder .personas .persona:nth-of-type(5) .image-box {
  background-color: var(--color-persona-5);
}
.pathfinder .personas .persona:nth-of-type(6) .image-box {
  background-color: var(--color-persona-6);
}
.pathfinder .personas .persona .image-box {
  width: inherit;
  display: block;
  position: relative;
  aspect-ratio: 1/1;
  box-shadow: 0px 2px 4px 0px hsla(0, 0%, 7%, 0.1);
}
.pathfinder .personas .persona .image-box.active .silhouette, .pathfinder .personas .persona .image-box:hover .silhouette {
  opacity: 0;
  visibility: hidden;
}
.pathfinder .personas .persona .image-box.active .shield, .pathfinder .personas .persona .image-box:hover .shield {
  bottom: 15px;
  opacity: 1;
  visibility: visible;
}
.pathfinder .personas .persona .image-box .silhouette,
.pathfinder .personas .persona .image-box .shield {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  transition: 500ms all ease-in-out;
}
.pathfinder .personas .persona .image-box .silhouette {
  height: 190px;
}
.pathfinder .personas .persona .image-box .shield {
  height: 170px;
  opacity: 0;
  visibility: hidden;
}
.pathfinder .personas .persona p {
  margin-top: 1rem;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3 !important;
  text-align: center;
  text-wrap: balance;
}

#think-train-engage {
  padding: 4rem 0;
}
#think-train-engage .container {
  max-width: 1600px !important;
}
@media (max-width: 1440px) {
  #think-train-engage .container {
    width: unset !important;
    margin: 0 2rem !important;
  }
}
@media (max-width: 991px) {
  #think-train-engage .container {
    width: unset !important;
    margin: 0 1.5rem !important;
  }
}
#think-train-engage h3.text-center {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}
#think-train-engage p.sub-head {
  margin-top: 0.5rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  text-align: center;
  text-wrap: balance;
  color: rgb(57, 62, 65);
}
#think-train-engage ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 991px) {
  #think-train-engage ul {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
#think-train-engage ul li {
  list-style-type: none;
  border: 1px solid hsla(0, 0%, 7%, 0.1);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  background-color: var(--color-light);
}
#think-train-engage ul li.train span.category {
  background-color: var(--color-new-red);
}
#think-train-engage ul li span.category {
  display: block;
  padding: 0.75rem 0;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  color: var(--color-light);
  background-color: var(--color-new-blue);
}
#think-train-engage ul li > div {
  padding: 1.5rem;
}
#think-train-engage ul li p {
  font-weight: 500;
}
#think-train-engage ul li .icons {
  max-width: 80%;
  display: grid;
  margin: 1rem auto;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 991px) and (min-width: 768px) {
  #think-train-engage ul li .icons {
    grid-template-columns: repeat(4, 1fr);
  }
}
#think-train-engage ul li .icons .icon {
  margin: 0 auto;
  text-decoration: none;
  color: var(--color-dark);
  transition: 250ms opacity ease-in-out;
}
#think-train-engage ul li .icons .icon:hover {
  opacity: 0.75;
}
#think-train-engage ul li .icons .icon i {
  width: 85px;
  display: grid;
  margin: 0 auto 0.5rem auto;
  border-radius: 100%;
  font-size: 2.5rem;
  color: var(--color-light);
  background: linear-gradient(to bottom, var(--color-new-blue), var(--color-new-red));
  aspect-ratio: 1/1;
  place-items: center;
}
#think-train-engage ul li .icons .icon span {
  display: block;
  font-weight: 700;
  text-align: center;
}
#think-train-engage ul li .highlights {
  max-width: 80%;
  margin: 1rem auto 1.5rem auto;
}
#think-train-engage ul li .highlights p {
  border-radius: 0.25rem;
  padding: 0.85rem;
  font-weight: 700;
  text-align: center;
  background-color: var(--color-neutral);
}
#think-train-engage ul li .highlights p + p {
  margin-top: 0.75rem;
}
@media (max-width: 991px) and (min-width: 768px) {
  #think-train-engage ul li .engagements {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 2rem;
  }
}
#think-train-engage ul li .engagements .engagement + .engagement {
  margin-top: 1.5rem;
}
@media (max-width: 1440px) {
  #think-train-engage ul li .engagements .engagement + .engagement {
    margin-top: 1.75rem;
  }
}
@media (max-width: 1200px) {
  #think-train-engage ul li .engagements .engagement + .engagement {
    margin-top: 2.5rem;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  #think-train-engage ul li .engagements .engagement + .engagement {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  #think-train-engage ul li .engagements .engagement + .engagement {
    margin-top: 1.25rem;
  }
}
#think-train-engage ul li .engagements .engagement h4 {
  font-size: 1.15rem;
  font-weight: 700;
}
#think-train-engage ul li .engagements .engagement p {
  margin: 0.25rem 0 0.5rem 0;
  padding: 0 !important;
  font-weight: 500;
  text-wrap: pretty !important;
}
#think-train-engage ul li .btn-group {
  margin-top: 1rem;
}

/* Featured This Week (Featured Research)
==================================================*/
.featured-research {
  padding: 4rem 1rem;
  background-color: hsla(218, 69%, 34%, 0.05);
}
.featured-research h3 {
  margin-bottom: 1.1rem;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-new-blue);
}
.featured-research ul {
  list-style-type: none;
}
.featured-research ul li {
  max-width: 1200px;
  display: grid;
  margin: 0 auto;
  grid-template-columns: 250px 1fr;
  align-items: center;
  gap: 4rem;
}
@media (max-width: 767px) {
  .featured-research ul li {
    grid-template-columns: 1fr;
    gap: 0;
    text-align: center;
  }
}
.featured-research ul li:not(li[id*=liListItem_0]) {
  display: none !important;
}
.featured-research ul li img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 767px) {
  .featured-research ul li img {
    margin: 0 auto;
  }
}
.featured-research ul li a:not(.more > a) {
  display: block;
  margin-bottom: 1rem;
  font-size: 24px;
  font-weight: 700;
  text-decoration: none;
  color: #121212;
  pointer-events: none;
}
.featured-research ul li p.summary {
  position: relative;
  top: -0.5rem;
}
.featured-research ul li p {
  font-size: 18px;
  text-wrap: pretty;
}
.featured-research ul li p > a {
  text-wrap: balance !important;
}
.featured-research ul li span[id*=Date] {
  display: block;
  margin-top: 0.5rem;
  color: var(--color-new-blue);
}
.featured-research ul li .more {
  display: block;
  margin-top: 1.25rem;
}
.featured-research ul li .more a {
  display: inline-block;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  padding: 0.375rem 1rem;
  font-family: var(--font-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: var(--color-new-blue);
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
}
.featured-research ul li .more a:hover {
  background-color: #183e83;
}

/* Upcoming Events Rotator
==================================================*/
.upcoming-events-rotator {
  max-width: 1150px;
  margin: 0 auto;
  padding: 4rem 1rem;
  text-align: center;
  background: #fff;
  position: relative;
  overflow: hidden;
}
.upcoming-events-rotator h3 {
  margin-bottom: 2rem;
  font-size: 36px !important;
}
.upcoming-events-rotator ul {
  height: 350px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  position: relative;
}
.upcoming-events-rotator {
  /* Card (li) */
}
.upcoming-events-rotator li {
  width: 450px;
  height: 350px;
  display: flex;
  border-radius: 0.5rem;
  padding: 1rem;
  background-color: #121212;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  transition: all 0.5s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  transform: translate(-50%, -50%);
  /* 🔑 Hide by default */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 450px) {
  .upcoming-events-rotator li {
    max-width: 100%;
  }
}
.upcoming-events-rotator li.show {
  filter: grayscale(100%);
}
.upcoming-events-rotator li.active {
  filter: grayscale(0%) !important;
}
.upcoming-events-rotator li::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1;
}
.upcoming-events-rotator li img {
  position: absolute;
  top: 0;
  left: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0; /* sits at the very back */
}
.upcoming-events-rotator li .hide-title {
  display: none !important;
}
.upcoming-events-rotator li p.date {
  font-weight: 700;
}
.upcoming-events-rotator li .event-logo {
  position: unset !important;
  max-width: 250px !important;
  object-fit: unset !important;
}
.upcoming-events-rotator li h4 {
  font-size: 1.75rem;
  text-wrap: balance;
}
.upcoming-events-rotator li p, .upcoming-events-rotator li > a:nth-child(1),
.upcoming-events-rotator li h4 {
  text-shadow: 0 1px 1px rgba(18, 18, 18, 0.6);
  color: #fff;
  position: relative;
  z-index: 9899;
}
.upcoming-events-rotator li > a:nth-child(1) {
  font-size: 18px;
  font-weight: 700;
}
.upcoming-events-rotator li p.summary {
  font-size: 1rem;
}
.upcoming-events-rotator li.active .more {
  display: block;
  opacity: 1;
  visibility: visible;
}
.upcoming-events-rotator li .more {
  display: none;
  z-index: 9899;
  opacity: 0;
  visibility: hidden;
  margin-top: 1.25rem;
  transition: 500ms all ease-in-out;
}
.upcoming-events-rotator li .more a {
  display: inline-block;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  padding: 0.375rem 1rem;
  font-family: var(--font-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: var(--color-new-blue);
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  cursor: pointer;
}
.upcoming-events-rotator li .more a::after {
  content: "\f061";
  display: inline-block;
  margin-left: 0.5em;
  font-family: var(--font-awesome);
  font-weight: 900;
}
.upcoming-events-rotator li .more a:hover {
  background-color: #183e83;
}
.upcoming-events-rotator {
  /* 🔑 Show visible cards */
}
.upcoming-events-rotator li.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.upcoming-events-rotator .arrow {
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-size: 1.5rem;
  color: #fff;
  background-color: var(--color-new-blue);
  position: absolute;
  z-index: 9001;
  transition: 250ms all ease-in-out;
  cursor: pointer;
}
.upcoming-events-rotator .arrow:hover {
  opacity: 0.75;
}
.upcoming-events-rotator .arrow.left {
  top: 50%;
  left: 0;
}
@media (max-width: 1200px) {
  .upcoming-events-rotator .arrow.left {
    margin-left: 1rem;
  }
}
@media (max-width: 767px) {
  .upcoming-events-rotator .arrow.left {
    top: unset;
    bottom: 45px;
  }
}
.upcoming-events-rotator .arrow.right {
  top: 50%;
  right: 0;
}
@media (max-width: 1200px) {
  .upcoming-events-rotator .arrow.right {
    margin-right: 1rem;
  }
}
@media (max-width: 767px) {
  .upcoming-events-rotator .arrow.right {
    top: unset;
    bottom: 45px;
  }
}
.upcoming-events-rotator .dots {
  display: flex;
  margin-top: 1rem;
  justify-content: center;
  gap: 0.75rem;
}
.upcoming-events-rotator .dots .dot {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
}
.upcoming-events-rotator .dots .dot.active {
  background: #2c458c;
}

/* Explore by Topic */
#explore-by-topic {
  width: 100%;
  max-width: 2560px; /* Needed for massive screens */
  margin: 0 auto;
  padding-top: 2rem;
}

#explore-by-topic h2 {
  padding: 0 1rem;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

#explore-by-topic h3 {
  margin: 0.7rem 0 1.5rem;
  padding: 0 1rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
  color: rgb(57, 62, 65);
}

#explore-by-topic .topics {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
}

#explore-by-topic .topics a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.8rem 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-align: center;
  text-decoration: none;
  color: #fff;
}

#explore-by-topic .topics a:hover {
  transition: 150ms transform ease-in-out;
  transform: scale(1.05);
  transform-origin: center;
  text-decoration: underline;
}

#explore-by-topic .topics a:nth-child(1) {
  background-color: var(--color-accent-2);
}

#explore-by-topic .topics a:nth-child(2) {
  background-color: var(--color-accent-1);
}

#explore-by-topic .topics a:nth-child(3) {
  background-color: var(--color-accent-3);
}

#explore-by-topic .topics a:nth-child(4) {
  background-color: var(--color-accent-4);
}

#explore-by-topic .topics a:nth-child(5) {
  background-color: var(--color-accent-5);
}

#explore-by-topic .topics a:nth-child(6) {
  color: #121212;
  background-color: #f5f5f5;
}

@media (max-width: 1200px) {
  #explore-by-topic .topics {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  #explore-by-topic .topics {
    grid-template-columns: 1fr;
  }
}
/* Testimonials */
#testimonials {
  max-width: calc(var(--max-width) + 4rem); /* 4rem added to adjust for internal margin in slider */
  margin: 3rem auto 5rem auto;
}

#testimonials p {
  padding: 0 !important; /* Offset Global P Padding */
}

#testimonials .testimonial {
  min-height: 275px;
  display: flex !important;
  margin: 0 2rem;
  border-radius: 15px;
  padding: 2rem;
  text-align: center;
  background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}

#testimonials .testimonial:hover {
  cursor: grab;
}

#testimonials .testimonial:active {
  cursor: grabbing;
}

#testimonials .testimonial > p {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #fff;
}

#testimonials .testimonial .person {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.3rem;
}

#testimonials .testimonial .person > img {
  width: 80px;
  aspect-ratio: 1/1;
  border-radius: 100%;
}

#testimonials .testimonial .person p {
  font-size: 1.1rem;
  font-weight: 700;
  text-align: left;
  /* line-height: 1.3; */
  color: #f5f5f5;
}

#testimonials .testimonial .person p > span {
  color: #fff;
}

#testimonials .slick-dots li button:before {
  font-size: 8px;
  line-height: 25px;
}

@media (max-width: 1200px) {
  #testimonials .testimonial {
    margin: 0 1rem;
  }
}
/* FAQ */
#faq {
  padding: 4rem 1rem;
  background-color: var(--color-neutral);
  background-image: url(../images/faq-background_1@2x.png);
  background-repeat: no-repeat;
  background-position: -500px center;
  background-size: 1000px;
}

#faq h2 {
  margin-bottom: 2rem;
  text-align: center;
}

#faq .qa {
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

#faq .qa + .qa {
  margin-top: 1rem;
}

#faq .qa .question {
  /* border-bottom: 3px solid var(--color-accent-5); */
  padding: 1rem 2rem;
  font-size: 18px;
  font-weight: 700;
  background-color: #fff;
}

#faq .qa .question::after {
  content: "\f077";
  font-family: "Font Awesome 6 Free";
  float: right;
}

#faq .qa.open .question::after {
  transform: rotate(180deg);
  transition: 250ms transform ease-in-out;
}

#faq .question {
  border-bottom: 0px solid var(--color-accent-5);
}

#faq .open > .question {
  border-bottom-width: 3px;
  transition: border-bottom-width 250ms ease-in-out;
}

#faq .answer {
  height: 0;
  padding: 0 1rem;
}

#faq .open > .answer {
  height: auto;
  padding: 1.5rem;
  transition: height 250ms ease-in-out, padding 250ms ease-in-out;
  background-color: var(--color-neutral);
}

/* FAQ UL */
#faq ul {
  margin: 0 0 0 2rem !important;
  padding: 0.5rem 0 !important;
}
#faq ul li + li {
  margin-top: 1rem !important;
}

@media (min-width: 992px) {
  #faq .container {
    max-width: 1100px;
  }
}
@media (max-width: 767px) {
  #faq {
    padding: 2rem 1rem;
  }
}
@media (max-width: 575px) {
  #faq .qa .question::after {
    display: none;
  }
}
/* FAQ (new)
==================================================*/
.faq-home {
  max-width: 1440px;
  display: grid;
  margin: 0 auto;
  padding: 4rem 1.5rem;
  grid-template-columns: 0.5fr 1.5fr;
  gap: 6rem;
}
@media (max-width: 991px) {
  .faq-home {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
.faq-home h3 {
  max-width: 1ch;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
  color: var(--color-new-blue);
}
@media (max-width: 991px) {
  .faq-home h3 {
    max-width: unset;
    font-size: 36px;
    text-align: center;
  }
}
.faq-home ul li.accordion-item {
  list-style-type: none;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  padding: 1.5rem 0;
  font-size: 1.25rem;
  gap: 1rem;
}
.faq-home ul li.accordion-item.open {
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
}
.faq-home ul li.accordion-item.open .answer {
  display: block;
  animation: 1000ms fadeIn forwards;
}
.faq-home ul li.accordion-item.open::after {
  transform: rotate(45deg);
  opacity: 0.5;
}
.faq-home ul li.accordion-item p:empty,
.faq-home ul li.accordion-item div:empty,
.faq-home ul li.accordion-item .more:empty,
.faq-home ul li.accordion-item p.summary {
  display: none !important;
}
.faq-home ul li.accordion-item p {
  font-size: 1rem;
  text-wrap: pretty !important;
  color: #393e41;
}
.faq-home ul li.accordion-item .question {
  grid-row: 1;
  font-weight: 500;
  cursor: pointer;
}
.faq-home ul li.accordion-item .answer {
  display: none;
  opacity: 0;
  grid-row: 2;
  grid-column: 1/-1;
}
@media (max-width: 991px) {
  .faq-home ul li.accordion-item {
    font-size: 1rem;
  }
}
.faq-home ul li.accordion-item::after {
  content: "+";
  margin-left: 1rem;
  font-family: var(--font-awesome);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--color-dark);
  opacity: 0.25;
  grid-row: 1;
  transition: 500ms all cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
}
.faq-home ul li.accordion-item + li {
  border-top: 1px solid hsla(0, 0%, 7%, 0.25);
}
.faq-home ul li.accordion-item ul {
  margin-left: 2rem;
}
.faq-home ul li.accordion-item ul li {
  font-size: 1rem !important;
  line-height: 1.5;
  color: #393e41 !important;
  list-style-type: disc;
}
.faq-home ul li.accordion-item ul li::marker {
  color: var(--color-new-blue);
}
.faq-home ul li.accordion-item ul li + li {
  margin-top: 0.5rem;
}
.faq-home ul li.accordion-item ul li strong {
  font-size: 1rem !important;
}

/* Dot Matrix */
#dot-matrix {
  padding: 4rem 1rem;
  background-color: #fff;
  background-image: url(../images/dot-background.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#dot-matrix h2 {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
}

#dot-matrix h3 {
  margin: 0.7rem 0 1.5rem;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
  color: rgb(57, 62, 65);
}

#dot-matrix .dot-chart-key-wrapper {
  width: 100%;
  max-width: var(--max-width);
  display: flex;
  margin: 0 auto;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: flex-start;
  gap: 2rem;
}

#dot-matrix #dot-chart {
  width: 100%;
  display: grid;
  align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(25px, 1fr));
  gap: 0.9rem;
  margin: 0 auto;
}

#dot-matrix #dot-chart .dot {
  font-size: 32px;
  /*
  width: 23px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  */
}

#dot-matrix #dot-chart-key {
  width: 300px;
  display: flex;
  flex-direction: column;
  /* flex-wrap: wrap; */
  justify-content: center;
  align-items: flex-start;
  border: 1px solid #000;
  border-radius: 15px;
  padding: 1rem;
  gap: 10px;
  /* margin: 1.5rem 0 2rem; */
  background-color: #fff;
}

#dot-matrix #dot-chart-key > small {
  width: 100%;
  display: block;
  margin: 0.5rem auto 0rem auto;
  border-radius: 5px;
  padding: 0.25rem;
  text-align: center;
  background-color: var(--color-neutral);
}

#dot-matrix .key-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 500;
}

#dot-chart-key i {
  font-size: 20px;
}

#dot-matrix .mobile-show {
  display: none !important;
}

/* .key-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
} */
@media (max-width: 991px) {
  #dot-matrix .mobile-hide {
    display: none !important;
  }
  #dot-matrix .mobile-show {
    display: block !important;
  }
  #dot-matrix #dot-chart-key {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }
  #dot-matrix .dot-chart-key-wrapper {
    flex-wrap: wrap-reverse;
  }
}
@media (max-width: 767px) {
  #dot-matrix #dot-chart {
    gap: 0.6rem;
  }
  #dot-matrix {
    padding: 2rem 1rem;
  }
}
/* TDWI Partners */
#tdwi-partners {
  width: 100%;
  max-width: 2560px; /* Needed for massive screens */
  margin: 0 auto;
  padding: 4rem 1rem;
  text-align: center;
  overflow: visible;
}

#tdwi-partners h2 {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
  text-wrap: balance;
}

#tdwi-partners h3 {
  margin: 0.7rem 0 1.5rem 0;
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  text-wrap: balance;
  color: rgb(57, 62, 65);
}

#tdwi-partners .logos {
  overflow: hidden;
  white-space: nowrap;
}

#tdwi-partners .logos-slide {
  display: inline-flex;
  animation: scroll 35s linear infinite;
}

#tdwi-partners .logos-slide img {
  height: 80px;
  padding: 0 2rem; /* Adjust spacing between images */
  filter: grayscale(100%);
}

#tdwi-partners .logos-slide img:hover {
  filter: grayscale(0);
  transition: 250ms filter ease-in-out;
}

@media (max-width: 767px) {
  #tdwi-partners {
    padding: 2rem 1rem;
  }
}
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* Event Showcase */
#event-showcase {
  padding: 4rem 1rem;
  background-image: url(https://tdwi.org/design/tdwi/events/conferences/las-vegas/2025/img/transform-background-2.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#event-showcase .event {
  max-width: var(--max-width);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  margin: 0 auto;
  gap: 3rem;
}

#event-showcase .event-video {
  position: relative;
  width: 550px;
  aspect-ratio: 16/9;
  border-radius: 15px;
  overflow: hidden;
}

#event-showcase .event-video > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#event-showcase .event-description > p {
  margin-bottom: 1.5rem;
  color: #fff;
}

#event-showcase .event-description > .btn + .btn {
  margin-left: 0.5rem;
}

@media (max-width: 1200px) {
  #event-showcase .event-video {
    width: 450px;
  }
}
@media (max-width: 991px) {
  #event-showcase .event {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  #event-showcase .event-video {
    width: 75%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  #event-showcase .event-video {
    width: 100%;
  }
}
/* Footer */
#footer {
  padding: 2rem 1rem 2rem 1rem;
  background-color: var(--color-dark); /* neutral default*/
}

#footer .container {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

#footer .logo-socials-subscribe {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

#footer .footer-logo {
  height: 165px;
  filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(0%) hue-rotate(350deg) brightness(107%) contrast(100%);
}

#footer .socials {
  display: flex;
  gap: 1rem;
}

#footer .socials img,
#footer .links img {
  height: 30px;
  vertical-align: middle;
}

#footer .socials img:hover,
#footer .links img:hover {
  transition: 150ms transform ease-in-out;
  transform-origin: center;
  transform: scale(1.15);
}

/* #footer .subscribe em {
    color: #000 !important;
} */
#footer .footer-links {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

#footer .footer-links .link-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

#footer .footer-links .link-group h3 {
  margin-bottom: 0.25rem;
  font-size: 20px !important;
  font-weight: 700;
  color: var(--color-neutral);
}

#footer .footer-links .link-group a {
  font-size: 1rem;
  font-weight: 500;
  text-decoration: underline;
  color: #fff; /* 000 default */
}

#footer .footer-links .link-group a:hover {
  text-decoration: none;
}

@media (max-width: 1200px) {
  #footer .container {
    grid-template-columns: auto 1fr;
    gap: 8rem;
  }
}
@media (max-width: 991px) {
  #footer .container {
    gap: 4rem;
  }
}
@media (max-width: 767px) {
  #footer .container {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  #footer .footer-links {
    flex-direction: column;
    gap: 2rem;
  }
  #footer .container {
    gap: 2rem;
  }
}
/* Copyright */
#copyright {
  padding: 0rem 1rem 2rem;
  background-color: var(--color-dark);
}

#copyright ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1rem;
}

#copyright ul li {
  list-style-type: none;
}

#copyright ul li a,
#copyright p {
  font-size: 16px;
  text-align: center;
  color: #fff;
}

#copyright ul li a:hover {
  display: block;
  transition: 150ms all ease-in-out;
  transform-origin: bottom;
  transform: translateY(-4px);
}

/* Scroll to Top */
/* Back to Top
==================================================*/
#back-to-top {
  width: 54px;
  height: 54px;
  display: grid;
  border-radius: 100vw;
  text-decoration: none;
  background: linear-gradient(135deg, #1b4692, #964069);
  place-items: center;
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 99;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: 250ms all ease-in-out;
}
#back-to-top.show {
  opacity: 0.75;
  visibility: visible;
}
#back-to-top:hover {
  opacity: 1;
  transform: translateY(-3px);
}
#back-to-top:hover i {
  transform: rotateY(180deg);
}
#back-to-top i {
  font-size: 1.5rem;
  color: #fff;
  transition: 333ms all ease-in-out;
}

@media (max-width: 767px) {
  #copyright ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  #copyright p {
    text-align: left;
  }
}
/* Sitecore Page Fixes
==================================================*/
.boxConferences ul li {
  position: relative;
}
@media (max-width: 991px) {
  .boxConferences ul li {
    display: grid;
    place-items: center;
    text-align: center !important;
  }
}
.boxConferences ul li > * {
  width: unset !important;
  max-width: unset !important;
  border: 0 !important;
  padding: 0 !important;
  float: unset !important;
}
.boxConferences ul li > a:first-child {
  margin-bottom: 0.5rem !important;
}
.boxConferences ul li > a:nth-of-type(2) {
  max-width: 300px !important;
  float: left !important;
}
@media (max-width: 991px) {
  .boxConferences ul li > a:nth-of-type(2) {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}
@media (min-width: 992px) {
  .boxConferences ul li div.info p {
    max-width: 80% !important;
    text-wrap: pretty !important;
  }
}
.boxConferences ul li .SaveTheDate {
  font-family: var(--font-primary) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
.boxConferences ul li .cta {
  margin: 0 !important;
  position: absolute !important;
  top: 1.5rem !important;
  right: 1.5rem !important;
  float: right !important;
}
@media (max-width: 991px) {
  .boxConferences ul li .cta {
    position: unset !important;
  }
}
.boxConferences ul li .cta .social {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

/* dlforum */
.boxJoinForum ul li {
  list-style-type: disc !important;
}

.boxWhoShouldJoin em {
  font-size: 1.4rem !important;
}

/* onsite-home fixes */
.homeFeaturedSection {
  width: 100% !important;
  max-width: 1200px !important;
  margin-bottom: 4rem !important;
}
.homeFeaturedSection ul.scrollList li {
  background-color: #393e41 !important;
}

.navigateYourTraining .navigateRight h3 {
  padding: 1.5rem 0 0 1.25rem !important;
  font-size: 19px !important;
  text-align: left !important;
  color: #d29136 !important;
}
.navigateYourTraining .navigateRight ul {
  background-color: #393e41 !important;
}
.navigateYourTraining .navigateRight ul li {
  margin-left: 2rem !important;
  color: #fff !important;
}

/* TDWI Videos Page
==================================================*/
#contentE .customPages {
  max-width: 1200px;
  margin: 0 auto;
}
#contentE .customPages .customPages-content p {
  text-align: center;
}
#contentE #level1 {
  width: 100% !important;
}
#contentE #level1 #webcast .ondemand {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
#contentE #level1 #webcast .ondemand h3 {
  display: none;
}
#contentE #level1 #webcast .ondemand > div a[id*=WebcastLinkImage] {
  width: 100%;
  display: block;
  position: relative;
}
#contentE #level1 #webcast .ondemand > div a[id*=WebcastLinkImage]::before {
  content: "";
  width: 100%;
  height: 98%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: hsla(0, 0%, 7%, 0);
  z-index: 0;
  transition: 250ms background-color ease-in-out;
}
#contentE #level1 #webcast .ondemand > div a[id*=WebcastLinkImage]::after {
  content: "\f144";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Font Awesome 6 Free";
  font-size: 3.5rem;
  font-weight: 700;
  color: #fff;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: 250ms opacity ease-in-out;
}
#contentE #level1 #webcast .ondemand > div a[id*=WebcastLinkImage]:hover::before {
  background-color: hsla(0, 0%, 7%, 0.15);
}
#contentE #level1 #webcast .ondemand > div a[id*=WebcastLinkImage]:hover::after {
  opacity: 1;
  visibility: visible;
}
#contentE #level1 #webcast .ondemand > div img {
  width: 100%;
}
#contentE #level1 #webcast .ondemand > div h4[id*=Title] {
  margin-top: 0.5rem;
  font-size: 1.25rem;
}
#contentE #level1 #webcast .ondemand > div .summary {
  display: -webkit-box;
  padding-bottom: 0 !important;
  font-size: 18px;
  font-weight: 400;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
#contentE #level1 #webcast .ondemand > div .childAssets,
#contentE #level1 #webcast .ondemand > div .providers,
#contentE #level1 #webcast .ondemand > div .clear {
  display: none !important;
}

/* Pagination & Breadcrumb
==================================================*/
ul.breadcrumb {
  margin: 1rem 0 !important;
}

ul.breadcrumb li:before {
  padding: 0 0.25rem !important;
}

ul.breadcrumb li a:hover {
  text-decoration: none !important;
  color: #393e41 !important;
}

/* TDWI 2026 Page Adjustments
==================================================*/
ul li .more a,
#contentA #webcast div div:not(.sponsorLogo) > a:first-child,
#contentA #webcast .gtm_btn,
#contentB #webcast .gtm_btn,
#contentC #webcast .gtm_btn,
#contentD #webcast .gtm_btn {
  min-height: 2.75rem !important;
  display: inline-flex !important;
  border: 0 !important;
  border-radius: 100vw !important;
  padding: 0.8rem 1.35rem !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  color: #fff !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--color-primary) !important;
  vertical-align: middle !important;
  user-select: none !important;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
  box-shadow: none !important;
  cursor: pointer !important;
  border-color: var(--color-primary) !important;
}
ul li .more a:active, ul li .more a:focus, ul li .more a:hover,
#contentA #webcast div div:not(.sponsorLogo) > a:first-child:active,
#contentA #webcast div div:not(.sponsorLogo) > a:first-child:focus,
#contentA #webcast div div:not(.sponsorLogo) > a:first-child:hover,
#contentA #webcast .gtm_btn:active,
#contentA #webcast .gtm_btn:focus,
#contentA #webcast .gtm_btn:hover,
#contentB #webcast .gtm_btn:active,
#contentB #webcast .gtm_btn:focus,
#contentB #webcast .gtm_btn:hover,
#contentC #webcast .gtm_btn:active,
#contentC #webcast .gtm_btn:focus,
#contentC #webcast .gtm_btn:hover,
#contentD #webcast .gtm_btn:active,
#contentD #webcast .gtm_btn:focus,
#contentD #webcast .gtm_btn:hover {
  background-color: #11346d !important;
  border-color: #11346d !important;
}

#contentBox div > .footer a:not(.gtm_btn):not(.cta_btn),
.lcsWrap .button > a:not(.gtm_btn):not(.cta_btn) {
  display: inline-block !important;
  border: 1px solid transparent !important;
  border-radius: 0.375rem !important;
  padding: 0.375rem 1rem !important;
  font-family: var(--font-primary) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  text-decoration: none !important;
  color: #121212 !important;
  background-color: var(--color-light) !important;
  vertical-align: middle !important;
  user-select: none !important;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
  box-shadow: none !important;
  cursor: pointer !important;
  border-color: #121212 !important;
}
#contentBox div > .footer a:not(.gtm_btn):not(.cta_btn):active, #contentBox div > .footer a:not(.gtm_btn):not(.cta_btn):focus, #contentBox div > .footer a:not(.gtm_btn):not(.cta_btn):hover,
.lcsWrap .button > a:not(.gtm_btn):not(.cta_btn):active,
.lcsWrap .button > a:not(.gtm_btn):not(.cta_btn):focus,
.lcsWrap .button > a:not(.gtm_btn):not(.cta_btn):hover {
  background-color: var(--color-neutral) !important;
}

ul li span.date {
  color: #393e41 !important;
}
@media (max-width: 767px) {
  ul li span.date {
    width: 100% !important;
    display: block !important;
  }
}

ul li > .title:hover,
#research div h4.title a:hover,
#contentA #webcast div div .title a:hover {
  color: var(--color-primary) !important;
}

#contentA #level0 #webcast > div h4.title {
  font-family: var(--font-primary) !important;
  font-weight: 700 !important;
}

.boxMemAccess .summary h2 {
  color: var(--color-primary) !important;
}

#level0 #research > div .date {
  color: var(--color-primary) !important;
  background-color: #fff !important;
}

#research div h4.date {
  background-color: var(--color-primary) !important;
}
@media (max-width: 780px) {
  #research div h4.date {
    color: var(--color-primary) !important;
  }
}

@media (max-width: 960px) {
  .formContent {
    max-width: calc(100vw - 3rem) !important;
    margin: 0 auto !important;
  }
}
.formContent input[type=submit],
.formContent input[type=button] {
  border-radius: 0.375rem !important;
  padding: 0.75rem 1rem 0.75rem 2.25rem !important;
  font-family: var(--font-primary) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  background-color: var(--color-secondary) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.formContent input[type=submit]:active, .formContent input[type=submit]:focus, .formContent input[type=submit]:hover,
.formContent input[type=button]:active,
.formContent input[type=button]:focus,
.formContent input[type=button]:hover {
  color: #fff !important;
  background-color: #7c2f52 !important;
}

#contentA #webcast div div .sponsor,
#contentA #webcast div div .startDate {
  color: var(--color-secondary) !important;
}

#contentB {
  width: 100% !important;
}

#webcast div div .sponsor {
  color: #964069 !important;
}

.boxHomeSpeakersScrolling .more > a {
  border: none !important;
  background-color: #fff !important;
}
.boxHomeSpeakersScrolling .more > a .es_name {
  font-family: var(--font-primary) !important;
  font-size: 1.4em !important;
  font-weight: 500 !important;
  line-height: 1.4em !important;
  color: #393e41 !important;
}

/* Call for Speakers */
#contentA h3[id*=TitleH3] {
  color: #1b4692;
}

table.callForTable:first-of-type {
  margin-top: 36px !important;
}

/* Marketing Opportunities */
.marketing-sponsorships-hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem;
}
.marketing-sponsorships-hero__left h2 {
  width: 350px;
  font-size: 2.6rem;
  text-align: right;
  text-transform: uppercase;
  overflow-wrap: break-word;
  color: #fff;
}
@media (max-width: 1540px) {
  .marketing-sponsorships-hero__left h2 {
    width: unset;
    text-align: center;
    text-wrap: balance;
  }
}
.marketing-sponsorships-hero__right img {
  max-width: 100%;
}
.marketing-sponsorships-hero__right {
  /* CMS currently comments the video image out; drop the empty column
     (and its flex gap) so the title centers true */
}
.marketing-sponsorships-hero__right:not(:has(img)) {
  display: none;
}

.boxPartners .summary img {
  max-width: 100% !important;
  height: auto !important;
}

.marketoContact {
  background-color: #fff !important;
}

.brochureIntro h3:first-of-type {
  font-size: 2.3rem !important;
}

.brochureIntro h3 {
  font-size: 1.75rem;
}

.brochure a img {
  filter: none !important;
}

.contactSection .redTop {
  padding-right: 0 !important;
  border-color: #1b4692 !important;
}
.contactSection .redTop h4 {
  color: #1b4692 !important;
}

/* Animations
==================================================*/
@keyframes searchFadeInFromTop {
  0% {
    opacity: 0;
    transform: translate(-50%, 0);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
@keyframes mobileNavHeight {
  0% {
    height: 83.5px;
  }
  100% {
    height: fit-content;
  }
}
@keyframes mobileNavListHeight {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 35vh;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInFromTop {
  0% {
    opacity: 0;
    transform: translateY(-2rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInFromBottom {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Interior page-template overrides
==================================================
Article/list/calendar pages still load the old template sheets
(redesign2024/RGstyles.css, MBstyle.css), which style the same selectors.
This sheet loads after them, so these re-assertions win the cascade. */
/* RGstyles clamps .leaderboard to 90px with no padding — GLOBAL ads need 114px */
.leaderboard {
  max-height: none;
  background-color: transparent;
}

/* RGstyles paints every .mainNavigationMenu li a dark (#393e41) with higher
   specificity than the partial's CTA rule */
.mainNavigationMenu ul.topnavlist li.nav-cta-button a {
  color: #fff;
}

/* RR.css (loads after this sheet on article pages) paints byline dates green
   with a defunct Avenir face; match the regular black dates */
#article ul.byline li.nodate,
#article .byline li.nodate {
  font-family: var(--font-primary);
  color: #000;
}

/* rrasset.css (loads after this sheet on legacy research pages) sets
   overflow:auto on content ULs — with our larger list rhythm that spawns a
   scrollbar mid-article. body prefix out-ranks it without !important. */
body #level0 #research > div ul {
  overflow: visible;
}

/* TopicList.css (loads after this sheet on topic pages) pins list dates into
   a 100px absolute box; collapsed accordion rows are overflow:hidden, so the
   two-line date clips at our larger type size. Keep it on one line. */
body .event ul li span.date,
body .onsite ul li span.date,
body .onlineLearning ul li span.date,
body .research ul li span.date,
body .webinars ul li span.date,
body .upside ul li span.date,
body .podcast ul li span.date,
body .filler ul li span.date {
  width: auto;
  font-family: var(--font-primary);
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

/* Template sheets declare a:link/a:visited/... at (0,1,1), out-ranking the
   .btn tone classes (0,1,0) — solid buttons lose their white text anywhere
   those sheets load (header CTA, footer subscribe, etc.) */
a.btn-primary, a.btn-primary:link, a.btn-primary:visited, a.btn-primary:hover, a.btn-primary:focus, a.btn-primary:active,
a.btn-secondary,
a.btn-secondary:link,
a.btn-secondary:visited,
a.btn-secondary:hover,
a.btn-secondary:focus,
a.btn-secondary:active {
  color: #fff;
}

/* tertiary is dark-on-neutral in every state (meerkat CTA, etc.);
   !important because page-level <style> blocks load after this sheet */
a.btn-tertiary, a.btn-tertiary:link, a.btn-tertiary:visited, a.btn-tertiary:hover, a.btn-tertiary:focus, a.btn-tertiary:active {
  text-decoration: none !important;
  color: #121212 !important;
}

/* Legacy button triage
==================================================
Interior pages carry ad-hoc CTA classes (cta_btn, gtm_btn, calreg_*) styled
per-page. Fold them into the established button system:
blue -> primary, red/colored CTA -> secondary, white/neutral -> tertiary.
:not(:has(img)) skips image-wrapping anchors; :link/:visited re-asserts beat
the template sheets' a:link (0,1,1) color rules. Classes are doubled because
per-event inline <style> blocks (CMS content) declare .calreg_*:hover at
(0,2,0), which would otherwise out-rank a single class base (0,1,1) on hover
and jump the button's radius/padding/font metrics. */
a.cta_btn.cta_btn:not(:has(img)),
a.gtm_btn.gtm_btn:not(:has(img)),
a.calreg_btnSem.calreg_btnSem,
a.calreg_btnANH.calreg_btnANH,
a.calreg_btnORS.calreg_btnORS {
  min-height: 2.75rem;
  display: inline-flex;
  border: 0;
  border-radius: 100vw;
  padding: 0.8rem 1.35rem;
  font-family: inherit;
  font-size: clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-decoration: none;
  white-space: nowrap;
  color: #121212;
  background-color: transparent;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  cursor: pointer;
  transform: scale(1);
  transition: background-color 220ms ease, color 220ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
a.cta_btn.cta_btn:not(:has(img))::before,
a.gtm_btn.gtm_btn:not(:has(img))::before,
a.calreg_btnSem.calreg_btnSem::before,
a.calreg_btnANH.calreg_btnANH::before,
a.calreg_btnORS.calreg_btnORS::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(90deg, #121212 0%, rgb(38.4, 38.4, 38.4) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 250ms ease-in-out;
}
a.cta_btn.cta_btn:not(:has(img)):focus-visible,
a.gtm_btn.gtm_btn:not(:has(img)):focus-visible,
a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible,
a.gtm_btn.gtm_btn:not(:has(img)):hover,
a.gtm_btn.gtm_btn:not(:has(img)):focus-visible,
a.calreg_btnSem.calreg_btnSem:hover,
a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:hover,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:hover,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  box-shadow: 0 0.35rem 0.9rem rgba(18, 18, 18, 0.1);
  transform: scale(1.018);
}
a.cta_btn.cta_btn:not(:has(img)):hover::before, a.cta_btn.cta_btn:not(:has(img)):focus-visible::before,
a.gtm_btn.gtm_btn:not(:has(img)):hover::before,
a.gtm_btn.gtm_btn:not(:has(img)):focus-visible::before,
a.calreg_btnSem.calreg_btnSem:hover::before,
a.calreg_btnSem.calreg_btnSem:focus-visible::before,
a.calreg_btnANH.calreg_btnANH:hover::before,
a.calreg_btnANH.calreg_btnANH:focus-visible::before,
a.calreg_btnORS.calreg_btnORS:hover::before,
a.calreg_btnORS.calreg_btnORS:focus-visible::before {
  transform: scaleX(1);
}
a.cta_btn.cta_btn:not(:has(img)):disabled, a.cta_btn.cta_btn:not(:has(img))[aria-disabled=true],
a.gtm_btn.gtm_btn:not(:has(img)):disabled,
a.gtm_btn.gtm_btn:not(:has(img))[aria-disabled=true],
a.calreg_btnSem.calreg_btnSem:disabled,
a.calreg_btnSem.calreg_btnSem[aria-disabled=true],
a.calreg_btnANH.calreg_btnANH:disabled,
a.calreg_btnANH.calreg_btnANH[aria-disabled=true],
a.calreg_btnORS.calreg_btnORS:disabled,
a.calreg_btnORS.calreg_btnORS[aria-disabled=true] {
  opacity: 0.65;
  pointer-events: none;
}
a.cta_btn.cta_btn:not(:has(img)):disabled::before, a.cta_btn.cta_btn:not(:has(img))[aria-disabled=true]::before,
a.gtm_btn.gtm_btn:not(:has(img)):disabled::before,
a.gtm_btn.gtm_btn:not(:has(img))[aria-disabled=true]::before,
a.calreg_btnSem.calreg_btnSem:disabled::before,
a.calreg_btnSem.calreg_btnSem[aria-disabled=true]::before,
a.calreg_btnANH.calreg_btnANH:disabled::before,
a.calreg_btnANH.calreg_btnANH[aria-disabled=true]::before,
a.calreg_btnORS.calreg_btnORS:disabled::before,
a.calreg_btnORS.calreg_btnORS[aria-disabled=true]::before {
  transform: scaleX(0);
}
a.cta_btn.cta_btn:not(:has(img)).arrow::after,
a.gtm_btn.gtm_btn:not(:has(img)).arrow::after,
a.calreg_btnSem.calreg_btnSem.arrow::after,
a.calreg_btnANH.calreg_btnANH.arrow::after,
a.calreg_btnORS.calreg_btnORS.arrow::after {
  content: "\f061";
  display: inline-block;
  margin-left: 0.1rem;
  font-family: "Font Awesome 6 Free";
  font-size: inherit;
  font-weight: 900;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible,
  a.gtm_btn.gtm_btn:not(:has(img)):hover,
  a.gtm_btn.gtm_btn:not(:has(img)):focus-visible,
  a.calreg_btnSem.calreg_btnSem:hover,
  a.calreg_btnSem.calreg_btnSem:focus-visible,
  a.calreg_btnANH.calreg_btnANH:hover,
  a.calreg_btnANH.calreg_btnANH:focus-visible,
  a.calreg_btnORS.calreg_btnORS:hover,
  a.calreg_btnORS.calreg_btnORS:focus-visible {
    box-shadow: none;
    transform: scale(1);
  }
  a.cta_btn.cta_btn:not(:has(img))::before,
  a.gtm_btn.gtm_btn:not(:has(img))::before,
  a.calreg_btnSem.calreg_btnSem::before,
  a.calreg_btnANH.calreg_btnANH::before,
  a.calreg_btnORS.calreg_btnORS::before {
    transition: none;
  }
}
a.cta_btn.cta_btn:not(:has(img)),
a.gtm_btn.gtm_btn:not(:has(img)),
a.calreg_btnSem.calreg_btnSem,
a.calreg_btnANH.calreg_btnANH,
a.calreg_btnORS.calreg_btnORS {
  /* old sheets fake borders with inset box-shadows and add underline hovers */
  box-shadow: none !important;
  border: 0 !important;
}
a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible,
a.gtm_btn.gtm_btn:not(:has(img)):hover,
a.gtm_btn.gtm_btn:not(:has(img)):focus-visible,
a.calreg_btnSem.calreg_btnSem:hover,
a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:hover,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:hover,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  text-decoration: none !important;
  box-shadow: none !important;
}

a.cta_btn.cta_btn:not(:has(img)) {
  color: #fff;
  background-color: #964069;
}
a.cta_btn.cta_btn:not(:has(img))::before {
  background: linear-gradient(90deg, rgb(107.1028037383, 45.6971962617, 74.9719626168) 0%, rgb(135.7009345794, 57.8990654206, 94.9906542056) 100%);
}
a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible {
  color: #fff;
}
a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible {
  color: #fff;
  background-color: #964069;
}
a.cta_btn.cta_btn:not(:has(img)) {
  /* id-based template rules (#rContent, #prefooter) out-rank any class
     selector, so the tone colors need !important here */
  background-color: #964069 !important;
}
a.cta_btn.cta_btn:not(:has(img)), a.cta_btn.cta_btn:not(:has(img)):link, a.cta_btn.cta_btn:not(:has(img)):visited {
  color: #fff !important;
}
a.cta_btn.cta_btn:not(:has(img)):hover, a.cta_btn.cta_btn:not(:has(img)):focus-visible {
  background-color: #7c2f52 !important;
}

a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)) {
  color: #121212;
  background-color: #f0f0f0;
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img))::before {
  background: linear-gradient(90deg, rgb(224.7, 224.7, 224.7) 0%, hsl(0, 0%, 100.1176470588%) 100%);
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):hover, a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):focus-visible {
  color: #121212;
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):hover, a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):focus-visible {
  color: #121212;
  background-color: #f0f0f0;
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)) {
  background-color: #f0f0f0 !important;
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)), a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):link, a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):visited {
  color: #121212 !important;
}
a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):hover, a.gtm_btn.gtm_btn:not(.cta_btn):not(:has(img)):focus-visible {
  background-color: var(--color-gray) !important;
}

a.calreg_btnSem.calreg_btnSem,
a.calreg_btnANH.calreg_btnANH,
a.calreg_btnORS.calreg_btnORS {
  color: #fff;
  background-color: #1b4692;
}
a.calreg_btnSem.calreg_btnSem::before,
a.calreg_btnANH.calreg_btnANH::before,
a.calreg_btnORS.calreg_btnORS::before {
  background: linear-gradient(90deg, rgb(17.4485549133, 45.2369942197, 94.3514450867) 0%, rgb(23.8161849711, 61.7456647399, 128.7838150289) 100%);
}
a.calreg_btnSem.calreg_btnSem:hover, a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:hover,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:hover,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  color: #fff;
}
a.calreg_btnSem.calreg_btnSem:hover, a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:hover,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:hover,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  color: #fff;
  background-color: #1b4692;
}
a.calreg_btnSem.calreg_btnSem,
a.calreg_btnANH.calreg_btnANH,
a.calreg_btnORS.calreg_btnORS {
  background-color: #1b4692 !important;
}
a.calreg_btnSem.calreg_btnSem, a.calreg_btnSem.calreg_btnSem:link, a.calreg_btnSem.calreg_btnSem:visited,
a.calreg_btnANH.calreg_btnANH,
a.calreg_btnANH.calreg_btnANH:link,
a.calreg_btnANH.calreg_btnANH:visited,
a.calreg_btnORS.calreg_btnORS,
a.calreg_btnORS.calreg_btnORS:link,
a.calreg_btnORS.calreg_btnORS:visited {
  color: #fff !important;
}
a.calreg_btnSem.calreg_btnSem:hover, a.calreg_btnSem.calreg_btnSem:focus-visible,
a.calreg_btnANH.calreg_btnANH:hover,
a.calreg_btnANH.calreg_btnANH:focus-visible,
a.calreg_btnORS.calreg_btnORS:hover,
a.calreg_btnORS.calreg_btnORS:focus-visible {
  background-color: #11346d !important;
}

/* Simple heroes: replace the per-page random solid fills with the brand
   gradient. :has(heading) guard skips image/empty heroes (e.g. journal,
   membership) so we do not blank out background-image banners. */
#postHeader:has(h1, h2, h3) {
  background: linear-gradient(135deg, #1b4692, #964069) !important;
}

/* Punch list: old-theme greens -> brand primary
================================================== */
body #level0 #blogPost div h3,
body #level1 #blogPost div h3 a {
  color: #1b4692;
}

body .jSection,
body .pageJumps ul li {
  color: #1b4692;
}

body .pageJumps ul span {
  color: #1b4692;
}

body .professional h3,
body .professional h4 {
  color: #1b4692;
}

/* Research list dates: kill the blue box + green text; plain clean date */
#research div h4.date,
#level0 #research > div .date {
  padding: 0 !important;
  font-weight: 600 !important;
  color: var(--color-dark) !important;
  background-color: transparent !important;
}

/* Member-exclusive snipe: quiet outline badge instead of dark/yellow block */
body #webcast .memberInlineSnipe,
body #research .memberInlineSnipe {
  border: 1px solid #964069 !important;
  border-radius: 100vw !important;
  padding: 0.1em 0.75em !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase;
  color: #964069 !important;
  background-color: transparent !important;
}

/* Consistent simple-hero sizing (background gradient set above); strip the
   old theme dark ::before overlays (video library, blogs) and normalize the
   inner content box so every gradient hero lands at the same compact height */
#postHeader:has(h1, h2, h3) {
  height: auto !important;
  min-height: 0 !important;
  display: block !important; /* companyInformation.css display:none — hero stays, boilerplate h2 removed below */
  padding: 0 !important;
}
#postHeader:has(h1, h2, h3)::before {
  display: none !important;
}
#postHeader:has(h1, h2, h3) {
  /* sizing lives on the content box, not #postHeader, so pages whose own
     CSS hides #postHeaderContent (e.g. call for speakers) collapse to
     nothing instead of leaving an empty 250px gradient band */
}
#postHeader:has(h1, h2, h3) #postHeaderContent {
  /* old theme narrows some heroes to width: 40%, wrapping titles hard */
  width: min(100%, 1000px) !important;
  height: auto !important;
  min-height: 250px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-block: 0 !important;
  margin-inline: auto !important; /* RR.css has no auto margins; box sat flush left */
  padding: 1.75rem 1rem !important;
}
#postHeader:has(h1, h2, h3) #postHeaderContent p {
  color: #fff !important; /* body copy legible on the gradient */
}
#postHeader:has(h1, h2, h3) {
  /* Boilerplate "Transforming Data With Intelligence" heroes (old theme hid
     these outright via companyInformation.css #postHeader { display: none },
     which our display:flex above resurrects): drop the h2 + divider bar,
     keep the h3/p. .dividerBlack only exists in that boilerplate markup. */
}
#postHeader:has(h1, h2, h3) #postHeaderContent > h2:has(+ .dividerBlack),
#postHeader:has(h1, h2, h3) #postHeaderContent > .dividerBlack {
  display: none !important;
}
#postHeader:has(h1, h2, h3) {
  /* old theme centers titles with huge fixed line-heights (e.g. 256px);
     margin-inline stays auto so its width-capped headings (h3 { width: 70% })
     keep their horizontal centering. White + centered explicitly: CMS is
     being trimmed to bare <h2> titles (marketing opps, research & resources)
     that otherwise inherit dark left-aligned defaults on the gradient. */
}
#postHeader:has(h1, h2, h3) h1,
#postHeader:has(h1, h2, h3) h2,
#postHeader:has(h1, h2, h3) h3 {
  margin-block: 0 !important;
  margin-inline: auto !important;
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem) !important;
  line-height: 1.2 !important;
  text-align: center !important;
  color: #fff !important;
}
#postHeader:has(h1, h2, h3) {
  /* Topic pages (heroIconText): TopicsPages.css paints a full-size icon PNG
     as the h2 background with 170px padding and per-topic negative margins.
     Shrink the icon and vertically center it beside the title. */
}
#postHeader:has(h1, h2, h3) .heroIconText {
  width: auto !important;
  max-height: none !important;
  margin: 0 !important;
  text-align: center;
}
#postHeader:has(h1, h2, h3) .heroIconText h2 {
  min-height: 0 !important;
  display: inline-block !important;
  padding: 0.25em 0 0.25em 85px !important;
  text-align: left !important;
  background-position: left center !important;
  background-size: 65px auto !important;
}

/* Related Articles block: smaller, left-aligned titles */
body .relatedSpecific .items ul {
  margin: 0.5rem 0 0 !important;
  padding-left: 1.2em !important;
}

body .relatedSpecific .items ul li a {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

/* Event Calendar (calendar/event-calendar.aspx)
   eventsHeadSmall.css loads after this sheet and paints #calEvents as a dark
   3-across inline-block grid (#393E41 cards, color:#fff !important, nth-child
   border-top colors, 320px min-height). Replace with light stacked rows:
   date column + details, brand accents. !important throughout is required to
   out-rank that later sheet. */
body #calEvents {
  max-width: 900px;
  margin: 2rem auto !important;
}
body #calEvents > h2 {
  margin: 2.5rem 0 1.25rem !important;
  border-bottom: 2px solid #1b4692;
  padding: 0 0 0.5rem !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-align: left !important;
  color: #121212;
}
body #calEvents > div {
  width: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  margin: 0 0 1rem !important;
  border: 1px solid rgba(18, 18, 18, 0.125) !important;
  border-radius: 0.5rem !important;
  padding: 1.25rem 1.5rem !important;
  color: #121212 !important;
  background-color: #f0f0f0 !important;
  gap: 1.5rem;
  /* flex layout replaces the float-era clearer */
}
body #calEvents > div > br.clear {
  display: none;
}
body #calEvents > div .eventDate {
  flex: 0 0 10rem;
  margin: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.05rem;
  font-weight: 700 !important;
  line-height: 1.4;
  text-align: left !important;
  color: #1b4692 !important;
}
body #calEvents > div .info {
  flex: 1;
  margin: 0 !important;
  /* Sitecore filler paragraphs add phantom vertical space: some are
     empty, some wrap only an inline <style> block */
}
body #calEvents > div .info p:empty,
body #calEvents > div .info p:has(> style:only-child) {
  display: none;
}
body #calEvents > div .info {
  /* event-type kicker: plain uppercase label (a pill here reads as a
     button and clashes with the real CTAs below) */
}
body #calEvents > div .info h3 {
  margin: 0;
}
body #calEvents > div .info h3 a,
body #calEvents > div .info h3 a span {
  display: inline-block;
  padding: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #964069 !important;
  background-color: transparent !important;
}
body #calEvents > div .info h4 {
  text-wrap: wrap;
}
@supports (text-wrap: balance) {
  body #calEvents > div .info h4 {
    text-wrap: balance;
  }
}
body #calEvents > div .info h4 {
  margin: 0.5rem 0 0.25rem;
  font-size: 1.2rem;
  line-height: 1.35;
}
body #calEvents > div .info h4 a {
  text-decoration: none;
  color: #121212 !important;
}
body #calEvents > div .info h4 a:hover {
  text-decoration: underline;
  color: #1b4692 !important;
}
body #calEvents > div .info .venue {
  font-size: 0.9rem;
  color: #393e41 !important;
}
body #calEvents > div .info {
  /* session sub-links carry inline style="color: #fff" from the dark
     theme — invisible on the light card; !important beats inline */
}
body #calEvents > div .info p > a[style*=color]:not([class]) {
  font-weight: 600;
  text-decoration: underline;
  color: #1b4692 !important;
}
body #calEvents > div .info p > a[style*=color]:not([class]):hover {
  color: #964069 !important;
}
body #calEvents > div .info {
  /* per-page inline <style> pushes CTAs down 1.5rem !important */
}
body #calEvents > div .info .calreg_btnSem,
body #calEvents > div .info .calreg_btnORS,
body #calEvents > div .info .calreg_btnANH {
  margin-top: 0.5rem !important;
}
body #calEvents > div .info {
  /* "Save the Date!" note — was bright cyan on dark */
}
body #calEvents > div .info .moreInfo {
  margin: 0.25rem 0 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #964069 !important;
}
@media (max-width: 767px) {
  body #calEvents > div {
    flex-direction: column;
    gap: 0.5rem;
  }
  body #calEvents {
    /* in column direction the 10rem flex-basis becomes height */
  }
  body #calEvents > div .eventDate {
    flex: 0 0 auto;
  }
}

/* Content list standards (zero-specificity so page rules still win).
   The :not() keeps rhythm out of component subtrees whose lists have their
   own baked-in spacing — add new components to this one list, not new reset
   blocks. */
:where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) {
  margin-block: 1.25rem;
  margin-inline: 0;
  margin-left: 1.25rem;
  padding-inline-start: 1.45em;
}
:where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) :where(li) {
  text-wrap: wrap;
}
@supports (text-wrap: pretty) {
  :where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) :where(li) {
    text-wrap: pretty;
  }
}
:where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) :where(li) {
  padding-inline-start: 0.55em;
}
:where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) :where(li) + li {
  margin-top: 0.55rem;
}
:where(#contentBox, #contentA, #contentB, #contentC, #contentD, #contentE, #rContent, .summary) :where(ul, ol):not(:where(.faq-home, #hero-cta, #think-train-engage, #copyright, .upcoming-events-rotator) *) :where(li)::marker {
  font-size: 1.15em;
  font-weight: 700;
  color: currentColor;
}

/* Utility: linkless nav items get .no-click from the scripts helper
   (rule lives in GLOBAL _utility-classes.scss, which this sheet doesn't import) */
.no-click {
  pointer-events: none !important;
  text-decoration: none !important;
}

/*# sourceMappingURL=legacy-styles_dev.css.map */
